diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-06-03 14:39:15 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-06-03 14:39:15 +0000 |
commit | 697a741067fd1fe1a7426efb097d2dce63ccd71a (patch) | |
tree | ae343a9859319b5d63fd9bba207b96b06660267d /test/ruby | |
parent | 408c2d8be05c527bdfc738f23887094ce14d777b (diff) |
add a test for [ruby-dev:26128].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby')
-rw-r--r-- | test/ruby/test_signal.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/ruby/test_signal.rb b/test/ruby/test_signal.rb index d212f9fcc3..7a75f57fbe 100644 --- a/test/ruby/test_signal.rb +++ b/test/ruby/test_signal.rb @@ -1,4 +1,5 @@ require 'test/unit' +require 'timeout' class TestSignal < Test::Unit::TestCase def test_signal @@ -22,4 +23,26 @@ class TestSignal < Test::Unit::TestCase trap "SIGINT", oldtrap end end + + def test_exit_action + begin + r, w = IO.pipe + pid = fork { + r0, w0 = IO.pipe + trap(:USR1, "EXIT") + Thread.start { Thread.pass } + r0.sysread(4096) + } + sleep 0.1 + assert_nothing_raised("[ruby-dev:26128]") { + Process.kill(:USR1, pid) + Timeout.timeout(1) { + Process.waitpid pid + } + } + ensure + r.close + w.close + end + end end |