From b62b9aea1dcab941f11a977a410cdeb24d2a8901 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 4 Mar 2025 18:05:20 +0100 Subject: [PATCH] gh-130730: Fix multiprocessing test_active_children() (GH-130837) Replace a sleep with an event: sleep is not a reliable synchronization primitive. (cherry picked from commit 3dd3675492a3fc3b7996613ef75a9044ee7449b0) Co-authored-by: Victor Stinner --- Lib/test/_test_multiprocessing.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index d7de0f7113fe19..4f77b419d4e52a 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -588,12 +588,16 @@ def test_cpu_count(self): 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())