]> granicus.if.org Git - python/commitdiff
Issue #18786: Don't reinstall old SIGUSR1 handler prematurely.
authorRichard Oudkerk <shibturn@gmail.com>
Wed, 28 Aug 2013 12:50:19 +0000 (13:50 +0100)
committerRichard Oudkerk <shibturn@gmail.com>
Wed, 28 Aug 2013 12:50:19 +0000 (13:50 +0100)
Lib/test/_test_multiprocessing.py

index d7e5332ac8927da60341b76d8787549209534de6..127c267303d85eee3d83788c01597f6587ab237f 100644 (file)
@@ -2925,7 +2925,7 @@ class _TestPollEintr(BaseTestCase):
 
     @classmethod
     def _killer(cls, pid):
-        time.sleep(0.5)
+        time.sleep(0.1)
         os.kill(pid, signal.SIGUSR1)
 
     @unittest.skipUnless(hasattr(signal, 'SIGUSR1'), 'requires SIGUSR1')
@@ -2938,12 +2938,14 @@ class _TestPollEintr(BaseTestCase):
         try:
             killer = self.Process(target=self._killer, args=(pid,))
             killer.start()
-            p = self.Process(target=time.sleep, args=(1,))
-            p.start()
-            p.join()
+            try:
+                p = self.Process(target=time.sleep, args=(2,))
+                p.start()
+                p.join()
+            finally:
+                killer.join()
             self.assertTrue(got_signal[0])
             self.assertEqual(p.exitcode, 0)
-            killer.join()
         finally:
             signal.signal(signal.SIGUSR1, oldhandler)