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
commit59eaf14cbf3b6529d0bc2939e42402defbc41b94 (patch)
tree5023b7a9340b4911b6972cf71e58ada31d3d16ff /test
parentc798dc23aa012053b049b35adc3cf26bbddab5bb (diff)
avoid some race condition
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@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 2401e3211e..6ff33a29aa 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