diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index 0ddc71ccd85..246d2d57003 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -11,6 +11,7 @@ import io import sys import os import gc +import errno import signal import array import socket @@ -1371,7 +1372,16 @@ class _TestManagerRestart(BaseTestCase): manager.shutdown() manager = QueueManager( address=addr, authkey=authkey, serializer=SERIALIZER) - manager.start() + try: + manager.start() + except IOError as e: + if e.errno != errno.EADDRINUSE: + raise + # Retry after some time, in case the old socket was lingering + # (sporadic failure on buildbots) + time.sleep(1.0) + manager = QueueManager( + address=addr, authkey=authkey, serializer=SERIALIZER) manager.shutdown() #