From 3049f1243ec85590f64962994f055da66c85a15e Mon Sep 17 00:00:00 2001 From: Richard Oudkerk Date: Fri, 15 Jun 2012 20:08:29 +0100 Subject: Increase timeout used when waiting for manager to shutdown cleanly before resorting to terminate() --- Lib/multiprocessing/managers.py | 2 +- Lib/test/test_multiprocessing.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py index cded4f3..f6611af 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 e4031f6..d79110a 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): -- cgit v0.12