aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-03-07 03:55:10 +0100
committerMattias Andrée <maandree@operamail.com>2014-03-07 03:55:10 +0100
commitaeb2c753890af809e8e3ad99ace2c37b2059a726 (patch)
treef0387e3ae2033edd8626caedd247caea43cd8da8
parentforgot to notify in unordered join (diff)
downloadjoin-python-aeb2c753890af809e8e3ad99ace2c37b2059a726.tar.gz
join-python-aeb2c753890af809e8e3ad99ace2c37b2059a726.tar.bz2
join-python-aeb2c753890af809e8e3ad99ace2c37b2059a726.tar.xz
do not use conditions when not needed
Signed-off-by: Mattias Andrée <maandree@operamail.com>
-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: