You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
797 B
21 lines
797 B
6 years ago
|
diff --git a/Lib/threading.py b/Lib/threading.py
|
||
|
index e4c7f35..91b3849 100644
|
||
|
--- a/Lib/threading.py
|
||
|
+++ b/Lib/threading.py
|
||
|
@@ -351,13 +351,14 @@ class _Condition(_Verbose):
|
||
|
gotit = waiter.acquire(0)
|
||
|
if gotit:
|
||
|
break
|
||
|
- remaining = endtime - _time()
|
||
|
+ remaining = min(endtime - _time(), timeout)
|
||
|
if remaining <= 0:
|
||
|
break
|
||
|
if balancing:
|
||
|
delay = min(delay * 2, remaining, 0.05)
|
||
|
else:
|
||
|
delay = remaining
|
||
|
+ endtime = _time() + remaining
|
||
|
_sleep(delay)
|
||
|
if not gotit:
|
||
|
if __debug__:
|