there can be more than one message on the socket; empty the queue when shutting down...
[saartuer.git] / libtuer.py
index 01c04ae5d725863fecefe6fceddcae4f931833d2..f79dcc6cf4c9403fb0dbcb2bd3ebfc6db7d1996b 100644 (file)
@@ -111,6 +111,13 @@ class ThreadFunction():
                self._q.put((ThreadFunction._CALL, arg))
        
        def stop(self):
+               # empty the queue
+               try:
+                       while True:
+                               self._q.get_nowait()
+               except queue.Empty:
+                       pass
+               # now wait till the job-in-progress is done
                self._q.put((ThreadFunction._TERM, None))
                self._t.join()