summaryrefslogtreecommitdiff
path: root/gr-blocks/lib/message_strobe_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/lib/message_strobe_impl.cc')
-rw-r--r--gr-blocks/lib/message_strobe_impl.cc19
1 files changed, 17 insertions, 2 deletions
diff --git a/gr-blocks/lib/message_strobe_impl.cc b/gr-blocks/lib/message_strobe_impl.cc
index b3f1782229..ae13808674 100644
--- a/gr-blocks/lib/message_strobe_impl.cc
+++ b/gr-blocks/lib/message_strobe_impl.cc
@@ -54,8 +54,6 @@ namespace gr {
d_msg(msg)
{
message_port_register_out(pmt::mp("strobe"));
- d_thread = boost::shared_ptr<gr::thread::thread>
- (new gr::thread::thread(boost::bind(&message_strobe_impl::run, this)));
message_port_register_in(pmt::mp("set_msg"));
set_msg_handler(pmt::mp("set_msg"),
@@ -64,9 +62,26 @@ namespace gr {
message_strobe_impl::~message_strobe_impl()
{
+ }
+
+ bool
+ message_strobe_impl::start()
+ {
+ d_thread = boost::shared_ptr<gr::thread::thread>
+ (new gr::thread::thread(boost::bind(&message_strobe_impl::run, this)));
+
+ return block::start();
+ }
+
+ bool
+ message_strobe_impl::stop()
+ {
+ // Shut down the thread
d_finished = true;
d_thread->interrupt();
d_thread->join();
+
+ return block::stop();
}
void message_strobe_impl::run()