Commit cc5c7285 authored by Richard Oudkerk's avatar Richard Oudkerk

Fix signal handler in test.

parent 240f86d7
...@@ -354,12 +354,16 @@ class _TestProcess(BaseTestCase): ...@@ -354,12 +354,16 @@ class _TestProcess(BaseTestCase):
else: else:
os.kill(pid, signal.SIGTERM) os.kill(pid, signal.SIGTERM)
def handler(*args): def handler(*args):
raise RuntimeError('join took too long: %s' % p) raise RuntimeError('waitpid() took too long')
old_handler = signal.signal(signal.SIGALRM, handler) old_handler = signal.signal(signal.SIGALRM, handler)
try: try:
signal.alarm(10) signal.alarm(10)
pid_status = os.waitpid(pid, 0) pid_status = os.waitpid(pid, 0)
self.assertEqual(pid_status[0], pid) self.assertEqual(pid_status[0], pid)
except RuntimeError:
print('os.waitpid() =',
os.waitpid(pid, os.WNOHANG), file=sys.stderr)
raise
finally: finally:
signal.alarm(0) signal.alarm(0)
signal.signal(signal.SIGALRM, old_handler) signal.signal(signal.SIGALRM, old_handler)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment