diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-07-26 03:38:22 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-26 03:38:22 (GMT) |
commit | e42339d3a08a8fde3349722def85d7a8e49899be (patch) | |
tree | e79b555ad2406bb042713820271048bc799a6912 /Lib | |
parent | a6f045224a03f9b5f940c80ee142a2a4b4a9c9d8 (diff) | |
download | cpython-e42339d3a08a8fde3349722def85d7a8e49899be.zip cpython-e42339d3a08a8fde3349722def85d7a8e49899be.tar.gz cpython-e42339d3a08a8fde3349722def85d7a8e49899be.tar.bz2 |
[3.6] bpo-30595: Fix multiprocessing.Queue.get(timeout) (#2027) (#2881)
* bpo-30595: Fix multiprocessing.Queue.get(timeout) (#2027)
multiprocessing.Queue.get() with a timeout now polls its reader in
non-blocking mode if it succeeded to aquire the lock but the acquire
took longer than the timeout.
Co-Authored-By: Grzegorz Grzywacz <grzgrzgrz3@gmail.com>
(cherry picked from commit 1b7863c3b6519c6e134c28cab8b8af0dea43e375)
* bpo-30595: Increase test_queue_feeder_donot_stop_onexc() timeout (#2148)
_test_multiprocessing.test_queue_feeder_donot_stop_onexc() now uses a
timeout of 1 second on Queue.get(), instead of 0.1 second, for slow
buildbots.
(cherry picked from commit 8f6eeaf21cdf4aea25fdefeec814a1ce07453fe9)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/multiprocessing/queues.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Lib/multiprocessing/queues.py b/Lib/multiprocessing/queues.py index 7668417..513807c 100644 --- a/Lib/multiprocessing/queues.py +++ b/Lib/multiprocessing/queues.py @@ -101,7 +101,7 @@ class Queue(object): try: if block: timeout = deadline - time.time() - if timeout < 0 or not self._poll(timeout): + if not self._poll(timeout): raise Empty elif not self._poll(): raise Empty |