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
