diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-06-10 11:10:13 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-10 11:10:13 (GMT) |
commit | 1b7863c3b6519c6e134c28cab8b8af0dea43e375 (patch) | |
tree | f4c245335c1bd7de1f5bebb1f6dd99a44d569984 | |
parent | 5f31d5cf6efa8c304d352e34f9f2a1ed0074298e (diff) | |
download | cpython-1b7863c3b6519c6e134c28cab8b8af0dea43e375.zip cpython-1b7863c3b6519c6e134c28cab8b8af0dea43e375.tar.gz cpython-1b7863c3b6519c6e134c28cab8b8af0dea43e375.tar.bz2 |
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>
-rw-r--r-- | Lib/multiprocessing/queues.py | 2 | ||||
-rw-r--r-- | Misc/NEWS | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/Lib/multiprocessing/queues.py b/Lib/multiprocessing/queues.py index 7f77837..90844fe 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 @@ -350,10 +350,14 @@ Extension Modules Library ------- +- bpo-30595: 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. + - bpo-30605: re.compile() no longer raises a BytesWarning when compiling a bytes instance with misplaced inline modifier. Patch by Roy Williams. -- bpo-29870: Fix ssl sockets leaks when connection is aborted in asyncio/ssl +- bpo-29870: Fix ssl sockets leaks when connection is aborted in asyncio/ssl implementation. Patch by Michaël Sghaïer. - bpo-29743: Closing transport during handshake process leaks open socket. |