avoid some race condition

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2005-07-03 09:37:49 +00:00
parent c798dc23aa
commit 59eaf14cbf
1 changed files with 6 additions and 1 deletions

View File

@ -27,12 +27,15 @@ class TestSignal < Test::Unit::TestCase
def test_exit_action def test_exit_action
begin begin
r, w = IO.pipe r, w = IO.pipe
r0, w0 = IO.pipe
pid = fork { pid = fork {
r0, w0 = IO.pipe
trap(:USR1, "EXIT") trap(:USR1, "EXIT")
w0.close
w.syswrite("a")
Thread.start { Thread.pass } Thread.start { Thread.pass }
r0.sysread(4096) r0.sysread(4096)
} }
r.sysread(1)
sleep 0.1 sleep 0.1
assert_nothing_raised("[ruby-dev:26128]") { assert_nothing_raised("[ruby-dev:26128]") {
Process.kill(:USR1, pid) Process.kill(:USR1, pid)
@ -48,6 +51,8 @@ class TestSignal < Test::Unit::TestCase
ensure ensure
r.close r.close
w.close w.close
r0.close
w0.close
end end
end end
end end