summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-03 09:37:49 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-03 09:37:49 +0000
commitc61dd961dd01e6496fb8cb90c0af67ae0fdcebca (patch)
treed8b37bab791f40276dea2d899403875522607141 /test
parent3e0a75c089118bcd640d07afca605f0b823eed0f (diff)
avoid some race condition
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_signal.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/test/ruby/test_signal.rb b/test/ruby/test_signal.rb
index 2401e32..6ff33a2 100644
--- a/test/ruby/test_signal.rb
+++ b/test/ruby/test_signal.rb
@@ -27,12 +27,15 @@ class TestSignal < Test::Unit::TestCase
def test_exit_action
begin
r, w = IO.pipe
+ r0, w0 = IO.pipe
pid = fork {
- r0, w0 = IO.pipe
trap(:USR1, "EXIT")
+ w0.close
+ w.syswrite("a")
Thread.start { Thread.pass }
r0.sysread(4096)
}
+ r.sysread(1)
sleep 0.1
assert_nothing_raised("[ruby-dev:26128]") {
Process.kill(:USR1, pid)
@@ -48,6 +51,8 @@ class TestSignal < Test::Unit::TestCase
ensure
r.close
w.close
+ r0.close
+ w0.close
end
end
end