mirror of
https://github.com/python/cpython.git
synced 2025-07-12 13:55:34 +00:00
Issue #13373: multiprocessing.Queue.get() could sometimes block indefinitely
when called with a timeout. Patch by Arnaud Ysmal.
This commit is contained in:
commit
021572431b
3 changed files with 9 additions and 1 deletions
|
@ -129,7 +129,11 @@ class Queue(object):
|
|||
if not self._rlock.acquire(block, timeout):
|
||||
raise Empty
|
||||
try:
|
||||
if not self._poll(block and (deadline-time.time()) or 0.0):
|
||||
if block:
|
||||
timeout = deadline - time.time()
|
||||
if timeout < 0 or not self._poll(timeout):
|
||||
raise Empty
|
||||
elif not self._poll():
|
||||
raise Empty
|
||||
res = self._recv()
|
||||
self._sem.release()
|
||||
|
|
|
@ -1068,6 +1068,7 @@ Bob Yodlowski
|
|||
Danny Yoo
|
||||
George Yoshida
|
||||
Masazumi Yoshikawa
|
||||
Arnaud Ysmal
|
||||
Bernard Yue
|
||||
Moshe Zadka
|
||||
Milan Zamazal
|
||||
|
|
|
@ -365,6 +365,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #13373: multiprocessing.Queue.get() could sometimes block indefinitely
|
||||
when called with a timeout. Patch by Arnaud Ysmal.
|
||||
|
||||
- Issue #13254: Fix Maildir initialization so that maildir contents
|
||||
are read correctly.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue