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

Reply via email to