diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-05-26 05:13:40 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-05-26 05:13:40 +0000 |
commit | 72dce44d7b353b0e24324e235ca71d249de18515 (patch) | |
tree | fa57d9dc003cea65e123ddfd4ea69b426e1c0a69 /test/ruby/test_beginendblock.rb | |
parent | 501afa013498079ba8d2bd047e86430fe17d2325 (diff) |
test/ruby: fix leaked threads
* test/thread/test_{backtrace,beginendblock,proc,threadgroup}.rb:
join work threads not to leak threads.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_beginendblock.rb')
-rw-r--r-- | test/ruby/test_beginendblock.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/test/ruby/test_beginendblock.rb b/test/ruby/test_beginendblock.rb index d9c1f56916..a4318493c1 100644 --- a/test/ruby/test_beginendblock.rb +++ b/test/ruby/test_beginendblock.rb @@ -127,6 +127,7 @@ EOW def test_endblock_raise ruby = EnvUtil.rubybin + th = nil out = IO.popen( [ruby, '-e', 'class C; def write(x); puts x; STDOUT.flush; sleep 0.01; end; end', @@ -134,11 +135,13 @@ EOW '-e', 'END {raise "e1"}; END {puts "e2"}', '-e', 'END {raise "e3"}; END {puts "e4"}', '-e', 'END {raise "e5"}; END {puts "e6"}']) {|f| - Thread.new {sleep 5; Process.kill :KILL, f.pid} + th = Thread.new {sleep 5; Process.kill :KILL, f.pid} f.read } assert_match(/e1/, out) assert_match(/e6/, out) + ensure + th.kill if th.alive? end def test_nested_at_exit |