diff --git a/sutils/async.py b/sutils/async.py index 75f89eb7..0bd6e3fa 100644 --- a/sutils/async.py +++ b/sutils/async.py @@ -98,6 +98,9 @@ def finish(self, thread_id, ret_val): callback(ret_val) + while not self.threads[thread_id].isFinished(): + pass + del self.threads[thread_id] del self.callbacks[thread_id] diff --git a/sutils/async_threads.py b/sutils/async_threads.py index 509d4f96..8aac0c52 100644 --- a/sutils/async_threads.py +++ b/sutils/async_threads.py @@ -96,6 +96,9 @@ def finish(self, thread_id, ret_val): callback(ret_val) + while not self.threads[thread_id].isFinished(): + pass + del self.threads[thread_id] del self.callbacks[thread_id]