mirror of
https://github.com/python/cpython.git
synced 2025-08-16 14:50:43 +00:00
Merge 70717 to 26maint
This commit is contained in:
parent
e6bab480ac
commit
b48cfa679e
3 changed files with 32 additions and 0 deletions
|
@ -214,6 +214,7 @@ class SocketListener(object):
|
||||||
'''
|
'''
|
||||||
def __init__(self, address, family, backlog=1):
|
def __init__(self, address, family, backlog=1):
|
||||||
self._socket = socket.socket(getattr(socket, family))
|
self._socket = socket.socket(getattr(socket, family))
|
||||||
|
self._socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||||
self._socket.bind(address)
|
self._socket.bind(address)
|
||||||
self._socket.listen(backlog)
|
self._socket.listen(backlog)
|
||||||
self._address = self._socket.getsockname()
|
self._address = self._socket.getsockname()
|
||||||
|
|
|
@ -1188,6 +1188,30 @@ class _TestRemoteManager(BaseTestCase):
|
||||||
del queue
|
del queue
|
||||||
manager.shutdown()
|
manager.shutdown()
|
||||||
|
|
||||||
|
class _TestManagerRestart(BaseTestCase):
|
||||||
|
|
||||||
|
def _putter(self, address, authkey):
|
||||||
|
manager = QueueManager(
|
||||||
|
address=address, authkey=authkey, serializer=SERIALIZER)
|
||||||
|
manager.connect()
|
||||||
|
queue = manager.get_queue()
|
||||||
|
queue.put('hello world')
|
||||||
|
|
||||||
|
def test_rapid_restart(self):
|
||||||
|
authkey = os.urandom(32)
|
||||||
|
manager = QueueManager(
|
||||||
|
address=('localhost', 9999), authkey=authkey, serializer=SERIALIZER)
|
||||||
|
manager.start()
|
||||||
|
|
||||||
|
p = self.Process(target=self._putter, args=(manager.address, authkey))
|
||||||
|
p.start()
|
||||||
|
queue = manager.get_queue()
|
||||||
|
self.assertEqual(queue.get(), 'hello world')
|
||||||
|
manager.shutdown()
|
||||||
|
manager = QueueManager(
|
||||||
|
address=('localhost', 9999), authkey=authkey, serializer=SERIALIZER)
|
||||||
|
manager.start()
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
|
@ -92,6 +92,13 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #5177: Multiprocessing's SocketListener class now uses
|
||||||
|
socket.SO_REUSEADDR on all connections so that the user no longer needs
|
||||||
|
to wait 120 seconds for the socket to expire.
|
||||||
|
|
||||||
|
- Adjusted _tkinter to compile without warnings when WITH_THREAD is not
|
||||||
|
defined (part of issue #5035).
|
||||||
|
|
||||||
- Issue #5561: Removed the sys.version_info shortcuts from platform's
|
- Issue #5561: Removed the sys.version_info shortcuts from platform's
|
||||||
python_version() and python_version_tuple() since they produced different
|
python_version() and python_version_tuple() since they produced different
|
||||||
output compared to previous Python versions.
|
output compared to previous Python versions.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue