aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsrc/test.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/test.py b/src/test.py
index 1a9c57a..ae76886 100755
--- a/src/test.py
+++ b/src/test.py
@@ -71,13 +71,16 @@ def unordered_join(*f_groups):
for f_group in f_groups:
def join_(fs, index):
params = join(*fs)
- condition.acquire()
+ already_done = rc is not None
+ if not already_done:
+ condition.acquire()
if rc is None:
params = (index, rc)
condition.notify()
condition.release()
else:
- condition.release()
+ if not already_done:
+ condition.release()
if len(fs) == 1:
fs[0].unjoin(*params)
else: