Saturday, July 23, 2016

Re: [Discuss-gnuradio] About closing flowgraph automatically

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

No comments:

Post a Comment