From: Richard Oudkerk Date: Fri, 15 Jun 2012 19:08:29 +0000 (+0100) Subject: Increase timeout used when waiting for manager to shutdown cleanly X-Git-Tag: v3.3.0b1~237^2~4 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3049f1243ec85590f64962994f055da66c85a15e;p=python Increase timeout used when waiting for manager to shutdown cleanly before resorting to terminate() --- diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py index cded4f39d5..f6611af9a6 100644 --- a/Lib/multiprocessing/managers.py +++ b/Lib/multiprocessing/managers.py @@ -582,7 +582,7 @@ class BaseManager(object): except Exception: pass - process.join(timeout=0.2) + process.join(timeout=1.0) if process.is_alive(): util.info('manager still alive') if hasattr(process, 'terminate'): diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py index e4031f6927..d79110abba 100644 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@ -1820,6 +1820,11 @@ class _TestZZZNumberOfObjects(BaseTestCase): # run after all the other tests for the manager. It tests that # there have been no "reference leaks" for the manager's shared # objects. Note the comment in _TestPool.test_terminate(). + + # If some other test using ManagerMixin.manager fails, then the + # raised exception may keep alive a frame which holds a reference + # to a managed object. This will cause test_number_of_objects to + # also fail. ALLOWED_TYPES = ('manager',) def test_number_of_objects(self):