mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Issue #16955: Fix the poll() method for multiprocessing's socket
connections on Windows.
This commit is contained in:
commit
0ee84e04da
3 changed files with 15 additions and 1 deletions
|
@ -405,7 +405,7 @@ class Connection(_ConnectionBase):
|
||||||
return self._recv(size)
|
return self._recv(size)
|
||||||
|
|
||||||
def _poll(self, timeout):
|
def _poll(self, timeout):
|
||||||
r = wait([self._handle], timeout)
|
r = wait([self], timeout)
|
||||||
return bool(r)
|
return bool(r)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2358,6 +2358,17 @@ class _TestListenerClient(BaseTestCase):
|
||||||
p.join()
|
p.join()
|
||||||
l.close()
|
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):
|
class _TestPoll(unittest.TestCase):
|
||||||
|
|
||||||
ALLOWED_TYPES = ('processes', 'threads')
|
ALLOWED_TYPES = ('processes', 'threads')
|
||||||
|
|
|
@ -217,6 +217,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #16955: Fix the poll() method for multiprocessing's socket
|
||||||
|
connections on Windows.
|
||||||
|
|
||||||
- SSLContext.load_dh_params() now properly closes the input file.
|
- SSLContext.load_dh_params() now properly closes the input file.
|
||||||
|
|
||||||
- Issue #16829: IDLE printing no longer fails if there are spaces or other
|
- Issue #16829: IDLE printing no longer fails if there are spaces or other
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue