зеркало из https://github.com/github/ruby.git
* eval.c (rb_raise_jump): moved adjustment for control frame.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
fec2c12c29
Коммит
e4021207fb
|
@ -1,3 +1,7 @@
|
|||
Tue Feb 19 20:49:49 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* eval.c (rb_raise_jump): moved adjustment for control frame.
|
||||
|
||||
Tue Feb 19 18:34:32 2008 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* gc.c (STACK_LENGTH) [SPARC] : 0x80 offset removed. [ruby-dev:33857]
|
||||
|
|
6
eval.c
6
eval.c
|
@ -775,9 +775,7 @@ rb_f_raise(int argc, VALUE *argv)
|
|||
argv = &err;
|
||||
}
|
||||
}
|
||||
err = rb_make_exception(argc, argv);
|
||||
GET_THREAD()->cfp++;
|
||||
rb_raise_jump(err);
|
||||
rb_raise_jump(rb_make_exception(argc, argv));
|
||||
return Qnil; /* not reached */
|
||||
}
|
||||
|
||||
|
@ -830,6 +828,8 @@ rb_make_exception(int argc, VALUE *argv)
|
|||
void
|
||||
rb_raise_jump(VALUE mesg)
|
||||
{
|
||||
rb_thread_t *th = GET_THREAD();
|
||||
th->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp);
|
||||
/* TODO: fix me */
|
||||
rb_longjmp(TAG_RAISE, mesg);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче