diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-09-13 09:39:08 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-09-13 09:39:08 +0000 |
commit | d4faa1013efb81b55bd52ca3907d5cf295a0ef90 (patch) | |
tree | ad0e001d365b6a1acfa1685eac32a859c319072a /test/ruby/test_exception.rb | |
parent | 8a6478763213ee4f377fbb3be1c6117a50f618dc (diff) |
* test/ruby/test_exception.rb: fix thread issues.
* use Queue instead of a local variable for synchronization.
* join created thread to soleve leaking threads warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56150 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_exception.rb')
-rw-r--r-- | test/ruby/test_exception.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/test/ruby/test_exception.rb b/test/ruby/test_exception.rb index 03c0c819f5..10489dd5ba 100644 --- a/test/ruby/test_exception.rb +++ b/test/ruby/test_exception.rb @@ -723,9 +723,9 @@ end.join bug12741 = '[ruby-core:77222] [Bug #12741]' x = Thread.current - a = false + q = Queue.new y = Thread.start do - Thread.pass until a + q.pop begin raise "caller's cause" rescue @@ -737,9 +737,11 @@ end.join raise bug12741 rescue e = assert_raise_with_message(RuntimeError, "stop") do - a = true + q.push(true) sleep 1 end + ensure + y.join end assert_equal("caller's cause", e.cause.message) end |