From: Richard Oudkerk Date: Sun, 13 Jan 2013 22:46:48 +0000 (+0000) Subject: Issue #16955: Fix the poll() method for multiprocessing's socket X-Git-Tag: v3.3.1rc1~361 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ed9e06cb21c4437aa87bb23c6509d3dd3274d0fc;p=python Issue #16955: Fix the poll() method for multiprocessing's socket connections on Windows. --- diff --git a/Lib/multiprocessing/connection.py b/Lib/multiprocessing/connection.py index 2ae8a811f1..25b0326333 100644 --- a/Lib/multiprocessing/connection.py +++ b/Lib/multiprocessing/connection.py @@ -405,7 +405,7 @@ class Connection(_ConnectionBase): return self._recv(size) def _poll(self, timeout): - r = wait([self._handle], timeout) + r = wait([self], timeout) return bool(r) diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index 533dbacc8f..bb09638d8c 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -2383,6 +2383,17 @@ class _TestListenerClient(BaseTestCase): p.join() l.close() + def test_issue16955(self): + for fam in self.connection.families: + l = self.connection.Listener(family=fam) + c = self.connection.Client(l.address) + a = l.accept() + a.send_bytes(b"hello") + self.assertTrue(c.poll(1)) + a.close() + c.close() + l.close() + class _TestPoll(unittest.TestCase): ALLOWED_TYPES = ('processes', 'threads') diff --git a/Misc/NEWS b/Misc/NEWS index d09406bb15..c444ed66b7 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -147,6 +147,9 @@ Core and Builtins Library ------- +- Issue #16955: Fix the poll() method for multiprocessing's socket + connections on Windows. + - SSLContext.load_dh_params() now properly closes the input file. - Issue #16829: IDLE printing no longer fails if there are spaces or other