diff options
| author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-07-03 09:37:49 +0000 |
|---|---|---|
| committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-07-03 09:37:49 +0000 |
| commit | f9dccbd56307c39fcad076763eaea5da7be231b7 (patch) | |
| tree | 5023b7a9340b4911b6972cf71e58ada31d3d16ff /test | |
| parent | a5f5549d91ab681254be2a8d7a14c0165279af91 (diff) | |
| download | ruby-f9dccbd56307c39fcad076763eaea5da7be231b7.tar.gz ruby-f9dccbd56307c39fcad076763eaea5da7be231b7.tar.xz ruby-f9dccbd56307c39fcad076763eaea5da7be231b7.zip | |
avoid some race condition
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
| -rw-r--r-- | test/ruby/test_signal.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/test/ruby/test_signal.rb b/test/ruby/test_signal.rb index 2401e3211..6ff33a29a 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 |
