diff options
Diffstat (limited to 'Lib/test/fork_wait.py')
-rw-r--r-- | Lib/test/fork_wait.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Lib/test/fork_wait.py b/Lib/test/fork_wait.py index 5600bdb..7eb55f6 100644 --- a/Lib/test/fork_wait.py +++ b/Lib/test/fork_wait.py @@ -34,7 +34,14 @@ class ForkWait(unittest.TestCase): pass def wait_impl(self, cpid): - spid, status = os.waitpid(cpid, 0) + for i in range(10): + # waitpid() 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 = os.waitpid(cpid, os.WNOHANG) + if spid == cpid: + break + time.sleep(2 * SHORTSLEEP) + self.assertEquals(spid, cpid) self.assertEquals(status, 0, "cause = %d, exit = %d" % (status&0xff, status>>8)) |