summaryrefslogtreecommitdiff
path: root/vm.c
diff options
context:
space:
mode:
authornagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-22 06:45:28 +0000
committernagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-22 06:45:28 +0000
commit6a35c26b2dfbd2a516e450e916eb8d13c3ff5ddf (patch)
treeb48d3759a8b0e5031ad058f26ff129166803de1d /vm.c
parenta44e41e8316820b51e183939d64b15ef68b321b2 (diff)
* cont.c (rb_fiber_start): in case of jump with TAG_FATAL,
enqueue error into async_errinfo_queue, because you cannot call TH_TAG_JUMP() in this function. [ruby-dev:45218] [Bug #5993] * thread.c (rb_threadptr_execute_interrupts): now INT2FIX(TAG_FATAL) can be popped from async_errinfo_queue. * vm.c (rb_vm_make_jump_tag_but_local_jump): revert r38441. rb_vm_make_jump_tag_but_local_jump() shouldn't return exception in case of state == TAG_FATAL. * test/ruby/test_fiber.rb (test_exit_in_fiber): fix a test to illuminate Thread.exit should terminate current Thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/vm.c b/vm.c
index ca79a37b0e..a3e25ba52d 100644
--- a/vm.c
+++ b/vm.c
@@ -917,11 +917,6 @@ rb_vm_make_jump_tag_but_local_jump(int state, VALUE val)
case TAG_RETRY:
result = make_localjump_error("retry outside of rescue clause", Qnil, state);
break;
- case TAG_FATAL:
- /* internal exception or Thread.exit */
- /* Thread.exit set th->errinfo to INT2FIX(TAG_FATAL) */
- if (!FIXNUM_P(val))
- result = val;
default:
break;
}