From ff44e5db9a4588630dd43c62f16dae935a6d8f55 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 4 Jul 2018 11:49:41 +0200 Subject: [PATCH] bpo-34040, multiprocessing: Fix test_forkserver_sigkill() (GH-8081) Fix test_forkserver_sigkill() of test_multiprocessing_forkserver: give more time to the first child process to complete, double the sleep in the parent process. Reduce also the child process sleep from 1000 ms to 500 ms, to not change the total duration of the test. (cherry picked from commit 07888e1cce89e9bb7dc501e287b4cb126e01c378) Co-authored-by: Victor Stinner --- Lib/test/_test_multiprocessing.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index 73321606f18bb7..a3891f1f04f54e 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -651,13 +651,17 @@ def check_forkserver_death(self, signum): from multiprocessing.forkserver import _forkserver _forkserver.ensure_running() + # First process sleeps 500 ms + delay = 0.5 + evt = self.Event() - proc = self.Process(target=self._sleep_and_set_event, args=(evt, 1.0)) + proc = self.Process(target=self._sleep_and_set_event, args=(evt, delay)) proc.start() pid = _forkserver._forkserver_pid os.kill(pid, signum) - time.sleep(1.0) # give it time to die + # give time to the fork server to die and time to proc to complete + time.sleep(delay * 2.0) evt2 = self.Event() proc2 = self.Process(target=self._sleep_and_set_event, args=(evt2,))