diff options
author | Giampaolo Rodola' <g.rodola@gmail.com> | 2013-04-17 11:08:59 (GMT) |
---|---|---|
committer | Giampaolo Rodola' <g.rodola@gmail.com> | 2013-04-17 11:08:59 (GMT) |
commit | b38897fc91c7f4b80bc2025ade219674d7b78bf3 (patch) | |
tree | e57827847e0cfc3fde489a7938576ad9b049fb49 | |
parent | 643ea53c140e2d2b3e21197fd87c1778131297d0 (diff) | |
download | cpython-b38897fc91c7f4b80bc2025ade219674d7b78bf3.zip cpython-b38897fc91c7f4b80bc2025ade219674d7b78bf3.tar.gz cpython-b38897fc91c7f4b80bc2025ade219674d7b78bf3.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 1d65f46..df57906 100644 --- a/Lib/multiprocessing/connection.py +++ b/Lib/multiprocessing/connection.py @@ -865,7 +865,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 3fb07f6..14ec61c 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -698,6 +698,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) + # # # @@ -29,6 +29,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. |