*
* GNU Radio is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
+ * the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* GNU Radio is distributed in the hope that it will be useful,
class gr_runtime_impl
{
private:
- gr_runtime_impl(gr_hier_block2_sptr top_block);
+ gr_runtime_impl(gr_hier_block2_sptr top_block, gr_runtime *owner);
+ friend void runtime_sigint_handler(int signum);
friend class gr_runtime;
bool d_running;
gr_simple_flowgraph_sptr d_sfg;
std::vector<gr_block_vector_t> d_graphs;
gr_scheduler_thread_vector_t d_threads;
-
+ gr_runtime *d_owner;
+ int d_lock_count;
+ omni_mutex d_reconf;
+
void start();
void start_threads();
void stop();
void wait();
void restart();
+ void lock();
+ void unlock();
public:
~gr_runtime_impl();