Hi list, I installed gnuradio (with grextras), uhd libraries on Windows from sources. My project used stream_selector (C++) class to to dynamically reconfigure the flow graph at runtime. When I call gr_top_block.stop()/ wait(), the wait() function don't return in a long time and I must to kill my application process to finish. Could you help me, please? Best regards, LTP.
on 2013-01-09 04:25
on 2013-01-09 16:24
On 01/08/2013 09:24 PM, Luong Tan Phong wrote: > Best regards, > > LTP. > stop() causes a thread interruption signal wait() blocks on joining all scheduler threads If wait is blocking forever then a work function is blocked on something and not exiting, or for some reason a scheduler thread is not exiting. I'm really not sure why, but I would like to fix the issue. Can you narrow down the issue to a subset of the blocks that cause a problem? code snippet? Is there a reason you think its the stream selector blocks (for example)? -josh
on 2013-01-13 21:11
On 01/09/2013 06:39 PM, Luong Tan Phong wrote: > connect(demod_am, 0, selector, 1); > connect(selector, 0, self(), 0); > > If I remove the selector object and connect demod_ssb/demod_am to self(), > it OK. > I'm not sure. All of the blocking calls in this block should be interruptible by boost thread interrupt (when stop is called). Are you able to rebuild or debug this? I suspect that one of the work calls is blocking and not interrupting... https://github.com/guruofquality/grextras/blob/mas... Can I ask what version of boost. To make sure this isnt the issue: http://gnuradio.org/redmine/issues/477 -josh