diff options
Diffstat (limited to 'gnuradio-runtime/lib/block.cc')
-rw-r--r-- | gnuradio-runtime/lib/block.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gnuradio-runtime/lib/block.cc b/gnuradio-runtime/lib/block.cc index 2bae8ea9f8..e329e0657a 100644 --- a/gnuradio-runtime/lib/block.cc +++ b/gnuradio-runtime/lib/block.cc @@ -707,8 +707,7 @@ namespace gr { //std::cout << "system_handler " << msg << "\n"; pmt::pmt_t op = pmt::car(msg); if(pmt::eqv(op, pmt::mp("done"))){ - d_finished = pmt::to_long(pmt::cdr(msg)); - global_block_registry.notify_blk(alias()); + d_finished = pmt::to_bool(pmt::cdr(msg)); } else { std::cout << "WARNING: bad message op on system port!\n"; pmt::print(msg); @@ -737,7 +736,7 @@ namespace gr { currlist = pmt::cdr(currlist); basic_block_sptr blk = global_block_registry.block_lookup(block); - blk->post(port, pmt::cons(pmt::mp("done"), pmt::mp(true))); + blk->post(port, pmt::cons(pmt::mp("done"), pmt::PMT_T)); //std::cout << "notify finished --> "; //pmt::print(pmt::cons(block,port)); @@ -750,7 +749,7 @@ namespace gr { bool block::finished() { - if((detail()->ninputs() != 0) || (detail()->noutputs() != 0)) + if(detail()->ninputs() != 0) return false; else return d_finished; |