]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-130730: Fix multiprocessing test_active_children() (#130837)
authorVictor Stinner <vstinner@python.org>
Tue, 4 Mar 2025 17:05:20 +0000 (18:05 +0100)
committerGitHub <noreply@github.com>
Tue, 4 Mar 2025 17:05:20 +0000 (17:05 +0000)
Replace a sleep with an event: sleep is not a reliable
synchronization primitive.

Lib/test/_test_multiprocessing.py

index f31151e53c4bb06ee960b96b7ddae5a67673d43a..67ab8f098f700b32c01be5cb7a82c7fb194a88b4 100644 (file)
@@ -589,12 +589,16 @@ class _TestProcess(BaseTestCase):
     def test_active_children(self):
         self.assertEqual(type(self.active_children()), list)
 
-        p = self.Process(target=time.sleep, args=(DELTA,))
+        event = self.Event()
+        p = self.Process(target=event.wait, args=())
         self.assertNotIn(p, self.active_children())
 
-        p.daemon = True
-        p.start()
-        self.assertIn(p, self.active_children())
+        try:
+            p.daemon = True
+            p.start()
+            self.assertIn(p, self.active_children())
+        finally:
+            event.set()
 
         p.join()
         self.assertNotIn(p, self.active_children())