summaryrefslogtreecommitdiffstats
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
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.
-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