Skip to content

Commit 3dd3675

Browse files
authored
gh-130730: Fix multiprocessing test_active_children() (#130837)
Replace a sleep with an event: sleep is not a reliable synchronization primitive.
1 parent 885c3d1 commit 3dd3675

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

Lib/test/_test_multiprocessing.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -589,12 +589,16 @@ def test_cpu_count(self):
589589
def test_active_children(self):
590590
self.assertEqual(type(self.active_children()), list)
591591

592-
p = self.Process(target=time.sleep, args=(DELTA,))
592+
event = self.Event()
593+
p = self.Process(target=event.wait, args=())
593594
self.assertNotIn(p, self.active_children())
594595

595-
p.daemon = True
596-
p.start()
597-
self.assertIn(p, self.active_children())
596+
try:
597+
p.daemon = True
598+
p.start()
599+
self.assertIn(p, self.active_children())
600+
finally:
601+
event.set()
598602

599603
p.join()
600604
self.assertNotIn(p, self.active_children())

0 commit comments

Comments
 (0)