diff options
| author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-06-07 12:41:30 +0000 |
|---|---|---|
| committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-06-07 12:41:30 +0000 |
| commit | 1c43f4f8024c811c688a6a262d1ebc245da8b149 (patch) | |
| tree | c3c8f08411fb61f17778da05830385a1e421d256 | |
| parent | 4fa29960268b391eb1d0887258aafc818ffd2750 (diff) | |
| download | ruby-1c43f4f8024c811c688a6a262d1ebc245da8b149.tar.gz ruby-1c43f4f8024c811c688a6a262d1ebc245da8b149.tar.xz ruby-1c43f4f8024c811c688a6a262d1ebc245da8b149.zip | |
* thread.c (rb_thread_execute_interrupts): invoke ensure when
main thread exits.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | thread.c | 11 |
2 files changed, 6 insertions, 10 deletions
@@ -1,3 +1,8 @@ +Thu Jun 7 21:38:39 2007 Koichi Sasada <ko1@atdot.net> + + * thread.c (rb_thread_execute_interrupts): invoke ensure when + main thread exits. + Thu Jun 7 19:02:48 2007 Tanaka Akira <akr@fsij.org> * lib/pp.rb: call original "method" method instead of redefined one. @@ -700,16 +700,7 @@ rb_thread_execute_interrupts(rb_thread_t *th) th->thrown_errinfo = 0; thread_debug("rb_thread_execute_interrupts: %ld\n", err); - if (err == eKillSignal) { - th->errinfo = INT2FIX(TAG_FATAL); - TH_JUMP_TAG(th, TAG_FATAL); - } - else if (err == eTerminateSignal) { - /* rewind to toplevel stack */ - while (th->tag->prev) { - th->tag = th->tag->prev; - } - + if (err == eKillSignal || err == eTerminateSignal) { th->errinfo = INT2FIX(TAG_FATAL); TH_JUMP_TAG(th, TAG_FATAL); } |
