diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-27 13:10:46 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-27 13:10:46 +0000 |
commit | 9b7d83c3e3501052f2562b1f328a1852e90c5944 (patch) | |
tree | cbce7189579d51eec45af528b36632cb365155b9 | |
parent | cba74f6629bb825421c2d06cc3e8974cbde11a97 (diff) | |
download | ruby-9b7d83c3e3501052f2562b1f328a1852e90c5944.tar.gz ruby-9b7d83c3e3501052f2562b1f328a1852e90c5944.tar.xz ruby-9b7d83c3e3501052f2562b1f328a1852e90c5944.zip |
* eval_error.c (error_handle): SystemExit and SignalException throws
TAG_RAISE but not TAG_FATAL.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16652 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | eval_error.c | 6 |
2 files changed, 8 insertions, 3 deletions
@@ -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] diff --git a/eval_error.c b/eval_error.c index aae7655be..d22b865e1 100644 --- a/eval_error.c +++ b/eval_error.c @@ -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; |