commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 01/10: runtime: add flag to wrapped top_blo


From: git
Subject: [Commit-gnuradio] [gnuradio] 01/10: runtime: add flag to wrapped top_block to control SIGINT handling in wait()
Date: Sun, 14 Jun 2015 16:34:15 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit bc3fb9ed4ea3b51e9f450c7f7ec007d718bca58a
Author: Sebastian Koslowski <address@hidden>
Date:   Fri May 29 15:42:51 2015 +0200

    runtime: add flag to wrapped top_block to control SIGINT handling in wait()
---
 gnuradio-runtime/python/gnuradio/gr/top_block.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/gnuradio-runtime/python/gnuradio/gr/top_block.py 
b/gnuradio-runtime/python/gnuradio/gr/top_block.py
index f449d98..2efcbd9 100644
--- a/gnuradio-runtime/python/gnuradio/gr/top_block.py
+++ b/gnuradio-runtime/python/gnuradio/gr/top_block.py
@@ -63,11 +63,13 @@ class _top_block_waiter(_threading.Thread):
         top_block_wait_unlocked(self.tb)
         self.event.set()
 
-    def wait(self):
+    def wait(self, handle_sigint=True):
         try:
-            while not self.event.isSet():
-                self.event.wait(0.100)
+            while not self.event.wait(0.1):
+                pass
         except KeyboardInterrupt:
+            if not handle_sigint:
+                raise
             self.tb.stop()
             self.wait()
 
@@ -98,6 +100,7 @@ class top_block(hier_block2):
         """
         # not calling hier_block2.__init__, we set our own _impl
         self._impl = top_block_swig(name)
+        self.handle_sigint = True
 
     def start(self, max_noutput_items=10000000):
         """
@@ -128,7 +131,7 @@ class top_block(hier_block2):
         """
         Wait for the flowgraph to finish running
         """
-        _top_block_waiter(self._impl).wait()
+        _top_block_waiter(self._impl).wait(self.handle_sigint)
 
     def dot_graph(self):
         """



reply via email to

[Prev in Thread] Current Thread [Next in Thread]