summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Oudkerk <shibturn@gmail.com>2013-08-28 12:50:19 (GMT)
committerRichard Oudkerk <shibturn@gmail.com>2013-08-28 12:50:19 (GMT)
commit6a53af893ad2708af8dda71515254abd7118d7de (patch)
tree6bb465342ff8611b7d8955087ce03fe4af561a40
parentd98af985d0e8e2199e5c8bcb8a2da6a849e86d9a (diff)
downloadcpython-6a53af893ad2708af8dda71515254abd7118d7de.zip
cpython-6a53af893ad2708af8dda71515254abd7118d7de.tar.gz
cpython-6a53af893ad2708af8dda71515254abd7118d7de.tar.bz2
Issue #18786: Don't reinstall old SIGUSR1 handler prematurely.
-rw-r--r--Lib/test/_test_multiprocessing.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
index d7e5332..127c267 100644
--- a/Lib/test/_test_multiprocessing.py
+++ b/Lib/test/_test_multiprocessing.py
@@ -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)