mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Stop trying to use strace, but add a sleep before terminate().
This commit is contained in:
parent
86823a52fc
commit
26f92680da
1 changed files with 4 additions and 8 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue