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.
20 lines
797 B
20 lines
797 B
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__:
|
|
|