[Python-checkins] cpython: Fix dangling warning for test_multiprocessing

richard.oudkerk python-checkins at python.org
Thu May 3 19:34:56 CEST 2012


http://hg.python.org/cpython/rev/5a4276fdf4b7
changeset:   76734:5a4276fdf4b7
user:        Richard Oudkerk <shibturn at gmail.com>
date:        Thu May 03 18:29:02 2012 +0100
summary:
  Fix dangling warning for test_multiprocessing

files:
  Lib/multiprocessing/managers.py  |  5 ++++-
  Lib/test/test_multiprocessing.py |  3 +++
  2 files changed, 7 insertions(+), 1 deletions(-)


diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py
--- a/Lib/multiprocessing/managers.py
+++ b/Lib/multiprocessing/managers.py
@@ -548,7 +548,10 @@
         '''
         Join the manager process (if it has been spawned)
         '''
-        self._process.join(timeout)
+        if self._process is not None:
+            self._process.join(timeout)
+            if not self._process.is_alive():
+                self._process = None
 
     def _debug_info(self):
         '''
diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -2516,6 +2516,7 @@
 
     def tearDown(self):
         self.mgr.shutdown()
+        self.mgr.join()
 
     def test_manager_initializer(self):
         m = multiprocessing.managers.SyncManager()
@@ -2523,6 +2524,7 @@
         m.start(initializer, (self.ns,))
         self.assertEqual(self.ns.test, 1)
         m.shutdown()
+        m.join()
 
     def test_pool_initializer(self):
         self.assertRaises(TypeError, multiprocessing.Pool, initializer=1)
@@ -2818,6 +2820,7 @@
         ManagerMixin.pool.terminate()
         ManagerMixin.pool.join()
         ManagerMixin.manager.shutdown()
+        ManagerMixin.manager.join()
         ThreadsMixin.pool.join()
         ProcessesMixin.pool.join()
         del ProcessesMixin.pool, ThreadsMixin.pool, ManagerMixin.pool

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list