summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Oudkerk <shibturn@gmail.com>2012-06-15 19:08:29 (GMT)
committerRichard Oudkerk <shibturn@gmail.com>2012-06-15 19:08:29 (GMT)
commit3049f1243ec85590f64962994f055da66c85a15e (patch)
tree5b97ba94f26319cf3f9b0b6b9811d48e9c621503
parent0f52346e760648a83504b1babd2a530f802eb096 (diff)
downloadcpython-3049f1243ec85590f64962994f055da66c85a15e.zip
cpython-3049f1243ec85590f64962994f055da66c85a15e.tar.gz
cpython-3049f1243ec85590f64962994f055da66c85a15e.tar.bz2
Increase timeout used when waiting for manager to shutdown cleanly
before resorting to terminate()
-rw-r--r--Lib/multiprocessing/managers.py2
-rw-r--r--Lib/test/test_multiprocessing.py5
2 files changed, 6 insertions, 1 deletions
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):