Some background: It was made a TSB block because TSB source blocks
weren't possible until recently, and that's an example use-case. Doesn't
solve the spinning issue.

On 01/15/2015 02:26 PM, Sylvain Munaut wrote:
> On Thu, Jan 15, 2015 at 2:01 PM, Marcus Müller <marcus.muel...@ettus.com> 
> wrote:
>> Stupid question:
>> at least in the old version of the code, the current message was popped
>> from the queue using delete_head_nowait().
>> Why don't we just delete_head_blocking() and -- block?
> 
> I think this would prevent the flow graph from stopping because it
> would block there indefinitely.
> For that to work, the condition variables of each message port would
> have to be poked by the runtime on shutdown.
> 
> That's why I proposed a version of delete_head_blocking with a timeout
> so we can handover control from time to time.

We've always considered blocking in blocks as harmful, but maybe we need
to think about this a bit more. What we'd definitely need is a way to
interrupt the blocking.

However, what would really solve the issue is if we could define
requirements for msg->stream blocks, similar to 'ninput items required'.

M


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to