Skip to content

Commit a6becaa

Browse files
committed
Fix dangling warning for test_multiprocessing
1 parent bf4e266 commit a6becaa

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

Lib/multiprocessing/managers.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,10 @@ def join(self, timeout=None):
548548
'''
549549
Join the manager process (if it has been spawned)
550550
'''
551-
self._process.join(timeout)
551+
if self._process is not None:
552+
self._process.join(timeout)
553+
if not self._process.is_alive():
554+
self._process = None
552555

553556
def _debug_info(self):
554557
'''

Lib/test/test_multiprocessing.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2516,13 +2516,15 @@ def setUp(self):
25162516

25172517
def tearDown(self):
25182518
self.mgr.shutdown()
2519+
self.mgr.join()
25192520

25202521
def test_manager_initializer(self):
25212522
m = multiprocessing.managers.SyncManager()
25222523
self.assertRaises(TypeError, m.start, 1)
25232524
m.start(initializer, (self.ns,))
25242525
self.assertEqual(self.ns.test, 1)
25252526
m.shutdown()
2527+
m.join()
25262528

25272529
def test_pool_initializer(self):
25282530
self.assertRaises(TypeError, multiprocessing.Pool, initializer=1)
@@ -2818,6 +2820,7 @@ def test_main(run=None):
28182820
ManagerMixin.pool.terminate()
28192821
ManagerMixin.pool.join()
28202822
ManagerMixin.manager.shutdown()
2823+
ManagerMixin.manager.join()
28212824
ThreadsMixin.pool.join()
28222825
ProcessesMixin.pool.join()
28232826
del ProcessesMixin.pool, ThreadsMixin.pool, ManagerMixin.pool

0 commit comments

Comments
 (0)