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 Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio