зеркало из https://github.com/github/ruby.git
* eval_error.c (error_handle): SystemExit and SignalException throws
TAG_RAISE but not TAG_FATAL. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
bcb57421cb
Коммит
1cdd1249e8
|
@ -1,4 +1,7 @@
|
|||
Tue May 27 21:53:49 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
Tue May 27 22:10:44 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* eval_error.c (error_handle): SystemExit and SignalException throws
|
||||
TAG_RAISE but not TAG_FATAL.
|
||||
|
||||
* thread.c (rb_thread_execute_interrupts): delay interrupts during
|
||||
raising exceptions. [ruby-dev:34855]
|
||||
|
|
|
@ -247,8 +247,7 @@ error_handle(int ex)
|
|||
error_pos();
|
||||
warn_printf(": unexpected throw\n");
|
||||
break;
|
||||
case TAG_RAISE:
|
||||
case TAG_FATAL: {
|
||||
case TAG_RAISE: {
|
||||
VALUE errinfo = GET_THREAD()->errinfo;
|
||||
if (rb_obj_is_kind_of(errinfo, rb_eSystemExit)) {
|
||||
status = sysexit_status(errinfo);
|
||||
|
@ -261,6 +260,9 @@ error_handle(int ex)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case TAG_FATAL:
|
||||
error_print();
|
||||
break;
|
||||
default:
|
||||
rb_bug("Unknown longjmp status %d", ex);
|
||||
break;
|
||||
|
|
Загрузка…
Ссылка в новой задаче