From: Koji Arai Date: 2002-09-21T20:14:03+09:00 Subject: [ruby-dev:18329] Re: rubicon on EWS4800 新井です。 In message "[ruby-dev:18328] Re: rubicon on EWS4800" on 21 Sep 2002 18:55:07 +0900, matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > まつもと ゆきひろです > これって最近の1.7ですか。だとすると終了した時にスタックを解 最新です。ruby 1.7.3 (2002-09-20) [i586-linux] > 放したのがいけなかったのかなあ。でも終了したスレッドを > save_contextするのも変な話ではあるが。 スタックトレースだけ見ると、以下で、 | static VALUE | rb_thread_start_0(fn, arg, th_arg) | VALUE (*fn)(); | void *arg; | rb_thread_t th_arg; | { - 略 - | rb_thread_remove(th); | | while (saved_block) { rb_thread_remove() した後 - 略 - | else if (th->safe < 4 && (thread_abort || th->abort || RTEST(ruby_debug))) { | VALUE err = rb_exc_new(rb_eSystemExit, 0, 0); | error_print(); | /* exit on main_thread */ | rb_thread_raise(1, &err, main_thread); の rb_thread_raise() の中で、curr_thread が save_context さ れて落ちてる? -- 新井康司 (Koji Arai)