]> granicus.if.org Git - python/commitdiff
bpo-34040, multiprocessing: Fix test_forkserver_sigkill() (GH-8081)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 4 Jul 2018 10:10:14 +0000 (03:10 -0700)
committerGitHub <noreply@github.com>
Wed, 4 Jul 2018 10:10:14 +0000 (03:10 -0700)
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 <vstinner@redhat.com>
Lib/test/_test_multiprocessing.py

index 73321606f18bb76603603cc4868da6319b1ab293..a3891f1f04f54ecf8cec21aa72f785c489e2a084 100644 (file)
@@ -651,13 +651,17 @@ class _TestProcess(BaseTestCase):
         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,))