diff options
author | Tim O'Shea <tim.oshea753@gmail.com> | 2012-11-30 22:31:43 -0800 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2012-11-30 22:41:46 -0800 |
commit | 6cc818260128df57c51a41e4e6aa459de5faf4fe (patch) | |
tree | b79aaa3f6c584c13bf203406367c756a98c94bdf /gnuradio-core/src/lib/runtime/gr_flowgraph.cc | |
parent | 4478cb86a5dc9fccf66c2cdd5806419b70c3837e (diff) |
core: gr_blocks can now have only message ports with no general_work()
* msg only blocks now get thread context
* added blocking msg queue delete call
* added gr_message_strobe block
* added grc definitions for message_debug, message_strobe, pdu_to_tagged_stream, tagged_stream_to_pdu.
* allow message fan-in connections in GRC
Diffstat (limited to 'gnuradio-core/src/lib/runtime/gr_flowgraph.cc')
-rw-r--r-- | gnuradio-core/src/lib/runtime/gr_flowgraph.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gnuradio-core/src/lib/runtime/gr_flowgraph.cc b/gnuradio-core/src/lib/runtime/gr_flowgraph.cc index 78e1bc99af..69c304a3d8 100644 --- a/gnuradio-core/src/lib/runtime/gr_flowgraph.cc +++ b/gnuradio-core/src/lib/runtime/gr_flowgraph.cc @@ -180,6 +180,11 @@ gr_flowgraph::calc_used_blocks() { gr_basic_block_vector_t tmp; + // make sure free standing message blocks are included + for (gr_basic_block_vector_t::iterator it=d_msgblocks.begin(); it!=d_msgblocks.end(); it++){ + tmp.push_back(*it); + } + // Collect all blocks in the edge list for (gr_edge_viter_t p = d_edges.begin(); p != d_edges.end(); p++) { tmp.push_back(p->src().block()); @@ -472,3 +477,7 @@ gr_flowgraph::topological_dfs_visit(gr_basic_block_sptr block, gr_basic_block_ve output.push_back(block); } +void gr_flowgraph::add_msg_block(gr_basic_block_sptr blk){ + d_msgblocks.push_back(blk); +} + |