On Fri, Mar 30, 2012 at 2:58 PM, Josh Blum <[email protected]> wrote:
>
>
> On 03/30/2012 11:23 AM, Nowlan, Sean wrote:
>> Do objects that extend gr_sync_block *require* that their work
>> function *always* returns as many items as the scheduler asked in
>> noutput_items, except for the case when a block may be completely
>> finished producing items? What does the scheduler do if the (number
>> of items returned) < noutput_items? Does it ever try calling the work
>> function again?
>>
>
> You can return any number of items between 1 and noutput_items. The
> scheduler will simply call work again with any items that werent
> consumed + extra that accumulated into the input buffers in the interim
> time.
>
> Returning 0 or -1 will tell the block executor code to stop.
>
> -Josh

Just to clarify, a block can legitimately return 0; it just means that
it didn't produce any output, but it will try again.

A -1 will cause this block to stop. If the block is a source and it
produces -1, it will stop the flowgraph completely.

Tom

_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to