summaryrefslogtreecommitdiff
path: root/bootstraptest/test_fork.rb
diff options
context:
space:
mode:
Diffstat (limited to 'bootstraptest/test_fork.rb')
-rw-r--r--bootstraptest/test_fork.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/bootstraptest/test_fork.rb b/bootstraptest/test_fork.rb
index a54316dbca..860ef285d0 100644
--- a/bootstraptest/test_fork.rb
+++ b/bootstraptest/test_fork.rb
@@ -85,13 +85,18 @@ assert_equal 'ok', %q{
10.times do
pid = fork{ exit!(0) }
deadline = now + 10
- until Process.waitpid(pid, Process::WNOHANG)
+ while true
+ _, status = Process.waitpid2(pid, Process::WNOHANG)
+ break if status
if now > deadline
Process.kill(:KILL, pid)
raise "failed"
end
sleep 0.001
end
+ unless status.success?
+ raise "child exited with status #{status}"
+ end
rescue NotImplementedError
end
:ok