Hi,
> 52 int pdu_to_tagged_stream_impl::calculate_output_stream_length(const
> gr_vector_int &)
> 53 {
> 54 if (d_curr_len == 0) {
> 55 /* FIXME: This blocking call is far from ideal but is the best
> we
> 56 * can do at the moment
> 57 */
> 58 pmt::pmt_t msg(delete_head_blocking(PDU_PORT_ID, 100));
> 59 if (msg.get() == NULL) {
> 60 return 0;
> 61 }
[snip]
> Problem is that if we use the non-blocking call here, the scheduler would
> have a chance to process the shutdown signal, but it would be constantly
> asking (spinning) for the output stream length.
>
> You could try out what would happen if we'd added a timeout to the blocking
> cal; that way, you could reduce the spinning, and hopefully get the scheduler
> to check for "done" messages.
There _is_ a timeout ... that "100" in there is the # of millisec to
wait at most.
Cheers,
Sylvain
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio