diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-09 17:32:45 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-09 17:32:45 +0000 |
commit | b664caeb785d66bb882fb014f0274eb5c7f23413 (patch) | |
tree | bff6942c2bd7b47c73f56505637c5987edb7c318 /test | |
parent | e2ab44ac4014698da14dfd68cc0559192534db9d (diff) | |
download | ruby-b664caeb785d66bb882fb014f0274eb5c7f23413.tar.gz |
* cont.c (fiber_switch): raise FiberError when returning to dead
fiber. [ruby-dev:40833]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_fiber.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/ruby/test_fiber.rb b/test/ruby/test_fiber.rb index e6afe55b96..4916ac9fd2 100644 --- a/test/ruby/test_fiber.rb +++ b/test/ruby/test_fiber.rb @@ -1,6 +1,7 @@ require 'test/unit' require 'fiber' require 'continuation' +require_relative './envutil' class TestFiber < Test::Unit::TestCase def test_normal @@ -178,5 +179,15 @@ class TestFiber < Test::Unit::TestCase f = Fiber.new {f.resume} assert_raise(FiberError, '[ruby-core:23651]') {f.transfer} end + + def test_fiber_transfer_segv + assert_normal_exit %q{ + require 'fiber' + f2 = nil + f1 = Fiber.new{ f2.resume } + f2 = Fiber.new{ f1.resume } + f1.transfer + } + end end |