From 26f92680da305a4f3007c47e11cced893991ec70 Mon Sep 17 00:00:00 2001 From: Richard Oudkerk Date: Thu, 17 Oct 2013 13:56:18 +0100 Subject: Stop trying to use strace, but add a sleep before terminate(). --- Lib/test/_test_multiprocessing.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py index d2b9403..daf5319 100644 --- a/Lib/test/_test_multiprocessing.py +++ b/Lib/test/_test_multiprocessing.py @@ -300,12 +300,14 @@ class _TestProcess(BaseTestCase): self.assertTimingAlmostEqual(join.elapsed, 0.0) self.assertEqual(p.is_alive(), True) + # XXX maybe terminating too soon causes the problems on Gentoo... + time.sleep(1) + p.terminate() if hasattr(signal, 'alarm'): # On the Gentoo buildbot waitpid() often seems to block forever. - # We use alarm() to interrupt it if it blocks for too long, and - # then try to print a backtrace for the child process using gdb. + # We use alarm() to interrupt it if it blocks for too long. def handler(*args): raise RuntimeError('join took too long: %s' % p) old_handler = signal.signal(signal.SIGALRM, handler) @@ -315,12 +317,6 @@ class _TestProcess(BaseTestCase): signal.alarm(0) except RuntimeError: print('os.waitpid() =', os.waitpid(p.pid, os.WNOHANG)) - import subprocess - try: - subprocess.check_call(['strace', '-p', str(p.pid)], - timeout=10) - except subprocess.TimeoutExpired: - pass raise finally: signal.signal(signal.SIGALRM, old_handler) -- cgit v0.12