summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@gmail.com>2008-03-21 05:51:37 (GMT)
committerJeffrey Yasskin <jyasskin@gmail.com>2008-03-21 05:51:37 (GMT)
commit6cda88ea11e5434e8292ce28ce18679f929d01e4 (patch)
tree0012f1cce46b18a9997406a7e801be650a7f0a76 /Lib/test
parentcf26f5419e51a62ae796369ecece8019688f94f4 (diff)
downloadcpython-6cda88ea11e5434e8292ce28ce18679f929d01e4.zip
cpython-6cda88ea11e5434e8292ce28ce18679f929d01e4.tar.gz
cpython-6cda88ea11e5434e8292ce28ce18679f929d01e4.tar.bz2
Try to fix test_signal breakages on Linux due to r61687. It appears that at
least two of the linux build bots aren't leaving zombie processes around for os.waitpid to wait for, causing ECHILD errors. This would be a symptom of a bug somewhere, but probably not in signal itself.
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_signal.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
index 76574af..b0195d7 100644
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -44,9 +44,11 @@ class InterProcessSignalTests(unittest.TestCase):
"""Wait for child_pid to finish, ignoring EINTR."""
while True:
try:
- pid, status = os.waitpid(child_pid, 0)
- return status
+ os.waitpid(child_pid, 0)
+ return
except OSError as e:
+ if e.errno == errno.ECHILD:
+ return
if e.errno != errno.EINTR:
raise