Updated license from GPL version 2 or later to GPL version 3 or later.
[debian/gnuradio] / gnuradio-core / src / lib / runtime / gr_runtime_impl.h
index bb2a08334ef6789b1ccedfa6bff11dd1a76c3856..17a8a985c5ac5c3ca96e703cb371bf32cc0b9eb1 100644 (file)
@@ -6,7 +6,7 @@
  * 
  * 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,
@@ -66,7 +66,8 @@ public:
 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;
@@ -74,12 +75,17 @@ private:
   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();