diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-12 20:06:59 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-12 20:06:59 +0000 |
commit | d7a19d03334075e29e14e0e2065d29b73e5d5350 (patch) | |
tree | f8aee31917999e2adab92570fcc437cc4c60b0cb /bootstraptest | |
parent | 161b2e264fcfc0ecb046b35245139e02847bbdb0 (diff) |
* thread.c (rb_thread_raise): check if target thread is
thrown by another thread or not. [ruby-dev:31371]
* bootstraptest/test_thread.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bootstraptest')
-rw-r--r-- | bootstraptest/test_thread.rb | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/bootstraptest/test_thread.rb b/bootstraptest/test_thread.rb index 64d685fa19..40ccbad497 100644 --- a/bootstraptest/test_thread.rb +++ b/bootstraptest/test_thread.rb @@ -169,3 +169,17 @@ assert_equal %q{11}, %q{ Thread.current[:a] }.value + Thread.current[:a] } +assert_equal %q{1000}, %q{ +begin + 1000.times do |i| + begin + Thread.start(Thread.current) {|u| u.raise } + raise + rescue + ensure + end + end +rescue + 1000 +end +}, '[ruby-dev:31371]' |