dummy_thread.acquire() would return None if no waitflag argument was given. It
should have returned True.
Fixes issue #3339. Thanks, Henk Punt for the report and Andrii v. Mishkovskiyi
for attempting a patch.
diff --git a/Lib/dummy_thread.py b/Lib/dummy_thread.py
index c131384..16dcf7e 100644
--- a/Lib/dummy_thread.py
+++ b/Lib/dummy_thread.py
@@ -104,18 +104,15 @@
aren't triggered and throw a little fit.
"""
- if waitflag is None:
+ if waitflag is None or waitflag:
self.locked_status = True
- return None
- elif not waitflag:
+ return True
+ else:
if not self.locked_status:
self.locked_status = True
return True
else:
return False
- else:
- self.locked_status = True
- return True
__enter__ = acquire
diff --git a/Lib/test/test_dummy_thread.py b/Lib/test/test_dummy_thread.py
index f274e0a..58faeb4 100644
--- a/Lib/test/test_dummy_thread.py
+++ b/Lib/test/test_dummy_thread.py
@@ -60,6 +60,7 @@
#Make sure that an unconditional locking returns True.
self.failUnless(self.lock.acquire(1) is True,
"Unconditional locking did not return True.")
+ self.failUnless(self.lock.acquire() is True)
def test_uncond_acquire_blocking(self):
#Make sure that unconditional acquiring of a locked lock blocks.