summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_wait4.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_wait4.py')
-rw-r--r--Lib/test/test_wait4.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/test/test_wait4.py b/Lib/test/test_wait4.py
index 711fd2d..9f7fc14 100644
--- a/Lib/test/test_wait4.py
+++ b/Lib/test/test_wait4.py
@@ -2,6 +2,7 @@
"""
import os
+import time
from test.fork_wait import ForkWait
from test.test_support import TestSkipped, run_unittest, reap_children
@@ -17,7 +18,13 @@ except AttributeError:
class Wait4Test(ForkWait):
def wait_impl(self, cpid):
- spid, status, rusage = os.wait4(cpid, 0)
+ for i in range(10):
+ # wait4() shouldn't hang, but some of the buildbots seem to hang
+ # in the forking tests. This is an attempt to fix the problem.
+ spid, status, rusage = os.wait4(cpid, os.WNOHANG)
+ if spid == cpid:
+ break
+ time.sleep(1.0)
self.assertEqual(spid, cpid)
self.assertEqual(status, 0, "cause = %d, exit = %d" % (status&0xff, status>>8))
self.assertTrue(rusage)