summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib/runtime/gr_flowgraph.cc
diff options
context:
space:
mode:
authorTim O'Shea <tim.oshea753@gmail.com>2012-11-30 22:31:43 -0800
committerJohnathan Corgan <johnathan@corganlabs.com>2012-11-30 22:41:46 -0800
commit6cc818260128df57c51a41e4e6aa459de5faf4fe (patch)
treeb79aaa3f6c584c13bf203406367c756a98c94bdf /gnuradio-core/src/lib/runtime/gr_flowgraph.cc
parent4478cb86a5dc9fccf66c2cdd5806419b70c3837e (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.cc9
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);
+}
+