mirror of
https://github.com/python/cpython.git
synced 2025-09-30 04:15:43 +00:00
* 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 commit1b7863c3b6
) * 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 commit8f6eeaf21c
)
This commit is contained in:
parent
a6f045224a
commit
e42339d3a0
2 changed files with 4 additions and 1 deletions
|
@ -101,7 +101,7 @@ class Queue(object):
|
||||||
try:
|
try:
|
||||||
if block:
|
if block:
|
||||||
timeout = deadline - time.time()
|
timeout = deadline - time.time()
|
||||||
if timeout < 0 or not self._poll(timeout):
|
if not self._poll(timeout):
|
||||||
raise Empty
|
raise Empty
|
||||||
elif not self._poll():
|
elif not self._poll():
|
||||||
raise Empty
|
raise Empty
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
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.
|
Loading…
Add table
Add a link
Reference in a new issue