|
From: | Marcus Müller |
Subject: | Re: [Discuss-gnuradio] Message Strobe Block Stopping Unexpectedly |
Date: | Sun, 19 Apr 2015 11:05:02 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 |
Hi Travis, stop() is called on all gr::blocks in your flow graph when you change (ok, even when you just set it to the old index) selector's configuration, because it reconfigures the flow graph internally, meaning that it calls lock() and unlock() on a hier block, which stop()s the parent hier_block, or top_block if it's already the highest level of encapsulation. So that is correct behaviour, in principle. However, message strobe doesn't seem to be able to get up again: bool message_strobe_impl::stop() { // Shut down the thread d_finished = true; d_thread->interrupt(); d_thread->join(); return block::stop(); } since start() doesn't re-set d_finished, we now know what needs to be done to correct this: move the setting of d_finished from the constructor to start(). I have a fix for this; for me, it works with your flow graph. If you want to try: https://github.com/marcusmueller/gnuradio/tree/message_strobe_fix_restartable Best regards, Marcus On 04/18/2015 11:11 PM, Travis Collins
wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |