From: matz@... (Yukihiro Matsumoto) Date: 1998-07-09T15:58:19+09:00 Subject: [ruby-dev:3244] Re: [BUG] Thread.abort_on_exception まつもと ゆきひろです In message "[ruby-dev:3237] [BUG] Thread.abort_on_exception" on 98/07/09, Keiju ISHITSUKA writes: |けいじゅ@日本ラショナルソフトウェアです. | |またまたバグです? そうですね.Thread.abort_on_exception = true の状態で同じコー ドの2重に実行していました. パッチを添付します. で,このパッチを当てるとスレッド内での例外はabortに変換され ちゃうんで,irbを含めて全体が終了しちゃうんですね.もしかし たらmain_threadに例外を送りつける方が望ましいのかも知れませ んが….どう思います? --- eval.c 1998/07/03 07:06:24 1.1.1.2.2.69 +++ eval.c 1998/07/09 06:49:41 @@ -6250,3 +6283,4 @@ if (state && th->status != THREAD_TO_KILL && !NIL_P(errinfo)) { - if (state == TAG_FATAL || obj_is_kind_of(errinfo, eSystemExit)) { + if (state == TAG_FATAL || obj_is_kind_of(errinfo, eSystemExit) || + thread_abort || curr_thread->abort || RTEST(debug)) { /* fatal error or global exit within this thread */ @@ -6256,5 +6290,2 @@ } - else if (thread_abort || curr_thread->abort || RTEST(debug)) { - f_abort(); - } else {