diff options
author | Giampaolo Rodola' <g.rodola@gmail.com> | 2013-04-17 11:12:27 (GMT) |
---|---|---|
committer | Giampaolo Rodola' <g.rodola@gmail.com> | 2013-04-17 11:12:27 (GMT) |
commit | 308307190fa6f81c93ef9bb9d95457d14a6ca098 (patch) | |
tree | 26cb44919665dc03933e8c8f6eca2b5ec027466e | |
parent | 22b9e651c2914dcf511665dd80cc9ce10ca53a1d (diff) | |
download | cpython-308307190fa6f81c93ef9bb9d95457d14a6ca098.zip cpython-308307190fa6f81c93ef9bb9d95457d14a6ca098.tar.gz cpython-308307190fa6f81c93ef9bb9d95457d14a6ca098.tar.bz2 |
Fix issue #17707: multiprocessing.Queue's get() method does not block for short timeouts.
-rw-r--r-- | Lib/multiprocessing/connection.py | 2 | ||||
-rw-r--r-- | Lib/test/test_multiprocessing.py | 7 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 11 insertions, 1 deletions
diff --git a/Lib/multiprocessing/connection.py b/Lib/multiprocessing/connection.py index 4dd6502..47e2123 100644 --- a/Lib/multiprocessing/connection.py +++ b/Lib/multiprocessing/connection.py @@ -862,7 +862,7 @@ else: if hasattr(select, 'poll'): def _poll(fds, timeout): if timeout is not None: - timeout = int(timeout) * 1000 # timeout is in milliseconds + timeout = int(timeout * 1000) # timeout is in milliseconds fd_map = {} pollster = select.poll() for fd in fds: diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index 6cda4fa..c696340 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -699,6 +699,13 @@ class _TestQueue(BaseTestCase): for p in workers: p.join() + def test_timeout(self): + q = multiprocessing.Queue() + start = time.time() + self.assertRaises(pyqueue.Empty, q.get, True, 0.2) + delta = time.time() - start + self.assertGreaterEqual(delta, 0.19) + # # # @@ -42,6 +42,9 @@ Core and Builtins Library ------- +- Issue #17707: multiprocessing.Queue's get() method does not block for short + timeouts. + - Issue #17012: shutil.which() no longer fallbacks to the PATH environment variable if empty path argument is specified. Patch by Serhiy Storchaka. |