aboutsummaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-05-05 03:22:20 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-05-05 03:22:20 +0000
commit41bdcc2ea8b1c8237b5a92ec2845cb3d76e37c36 (patch)
tree62ae54c9e0f14e65f98d6a7b76314bb4d862e12e /eval.c
parentaab7b1235d23088e0beb2bbc4ee28fe804d648f4 (diff)
downloadruby-41bdcc2ea8b1c8237b5a92ec2845cb3d76e37c36.tar.gz
use TH_JUMP_TAG
* vm_eval.c (rb_eval_cmd, rb_catch_obj): use TH_JUMP_TAG with the same rb_thread_t used for TH_PUSH_TAG, instead of JUMP_TAG with the current thread global variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/eval.c b/eval.c
index fca073f337..475d6ca7a8 100644
--- a/eval.c
+++ b/eval.c
@@ -477,7 +477,7 @@ setup_exception(rb_thread_t *th, int tag, volatile VALUE mesg, VALUE cause)
if (NIL_P(mesg)) {
mesg = th->errinfo;
- if (INTERNAL_EXCEPTION_P(mesg)) JUMP_TAG(TAG_FATAL);
+ if (INTERNAL_EXCEPTION_P(mesg)) TH_JUMP_TAG(th, TAG_FATAL);
nocause = 1;
}
if (NIL_P(mesg)) {
@@ -551,14 +551,14 @@ setup_exception(rb_thread_t *th, int tag, volatile VALUE mesg, VALUE cause)
}
else if (status) {
rb_threadptr_reset_raised(th);
- JUMP_TAG(status);
+ TH_JUMP_TAG(th, status);
}
}
if (rb_threadptr_set_raised(th)) {
th->errinfo = exception_error;
rb_threadptr_reset_raised(th);
- JUMP_TAG(TAG_FATAL);
+ TH_JUMP_TAG(th, TAG_FATAL);
}
if (tag != TAG_FATAL) {
@@ -573,7 +573,7 @@ rb_longjmp(int tag, volatile VALUE mesg, VALUE cause)
rb_thread_t *th = GET_THREAD();
setup_exception(th, tag, mesg, cause);
rb_thread_raised_clear(th);
- JUMP_TAG(tag);
+ TH_JUMP_TAG(th, tag);
}
static VALUE make_exception(int argc, const VALUE *argv, int isstr);
@@ -743,7 +743,7 @@ rb_raise_jump(VALUE mesg, VALUE cause)
setup_exception(th, TAG_RAISE, mesg, cause);
rb_thread_raised_clear(th);
- JUMP_TAG(TAG_RAISE);
+ TH_JUMP_TAG(th, TAG_RAISE);
}
void
@@ -837,7 +837,7 @@ rb_rescue2(VALUE (* b_proc) (ANYARGS), VALUE data1,
}
TH_POP_TAG();
if (state)
- JUMP_TAG(state);
+ TH_JUMP_TAG(th, state);
return result;
}
@@ -905,7 +905,7 @@ rb_ensure(VALUE (*b_proc)(ANYARGS), VALUE data1, VALUE (*e_proc)(ANYARGS), VALUE
(*ensure_list.entry.e_proc)(ensure_list.entry.data2);
th->errinfo = errinfo;
if (state)
- JUMP_TAG(state);
+ TH_JUMP_TAG(th, state);
return result;
}