On Wed, Feb 6, 2013 at 12:03 PM, "Martin Lülf" <[email protected]> wrote:
> > On Tue, Feb 5, 2013 at 12:42 PM, "Martin Lülf" <[email protected]> wrote: > > > >> > On Tue, Feb 5, 2013 at 5:28 AM, "Martin Lülf" <[email protected]> > wrote: > >> > > >> >> Hi, > >> >> > >> >> while working on my issue with asynchronous blocks ( > >> >> > >> > https://lists.gnu.org/archive/html/discuss-gnuradio/2013-01/msg00488.html > >> >> ). I discovered that the two tests 'gr-core-test-all' and 'qa_pdu' > >> >> sometimes hang up. That means they never return until I interrupt > >> with > >> >> Ctr+C. If I repeat the same make test without changing anything in > >> >> between, the tests sometimes run through and sometimes hang up again. > >> >> > >> >> I am running Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-35-generic x86_64) > >> with > >> >> the gnuradio master branch. > >> >> > >> >> Yours > >> >> Martin Luelf > >> >> > >> > > >> > What version of Boost are you running? If it's 1.46, 1.47, or 1.52, > >> that > >> > would explain the gr-core-test-all. It's a bug in Boost that we get > >> hit > >> > with (and we're supposed to not link against those versions, but > >> > apparently > >> > haven't done that right; see Issue #513). > >> > > >> > The PDU hangup I think is a race condition. I thought that I had fixed > >> > that, but apparently not entirely. I just opened up Issue 514 about > >> this. > >> > > >> > Thanks for reporting. > >> > > >> > Tom > >> > > >> > >> Hi Tom, > >> > >> thank you for your fast reply. Indeed updating to a newer version of > >> boost > >> (I moved from 1.46 to 1.53) seems to fix both of the issues. I repeated > >> make test for 10 times and both tests (as well as all others) ran > >> through > >> without issues every time. Before I hat to retry only once or twice to > >> get > >> a hangup. > >> > >> However I am still curious to learn how flowgraph start/stop works for > >> asynchronous blocks, as they don't have a start/stop function, as far as > >> I > >> understood. Can you point me to some documentation or a certain piece of > >> code where I can learn more about this? > >> > >> Yours > >> Martin > > > > > > I'm not sure what you mean by asynchronous blocks? All blocks run as > > threads. We can join them and interrupt them (all our threads are started > > with a Boost interruption point for this). > > > > Tom > > > > Hi Tom, > > by asynchronous blocks I mean a block that has only message ports as in > and outputs and thus no general_work function. As far as I saw these > block's start()/stop() functions are not called even if I implement them. > So when does such a block start or how/when is it stopped again? > > Especially regarding such a block's start please also see my previous post > to the mailing list > https://lists.gnu.org/archive/html/discuss-gnuradio/2013-01/msg00488.html > > Yours > Martin > Ok, yeah, all blocks are launched as part of the start function of the top_block. As I said, they are just threads, so we launch a thread for each block that's a part of the flowgraph. Anything that's connected using the data stream 'connect' or message stream 'msg_connect' is considered part of the flowgraph. Tom
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
