From: nobu.nakada@... Date: 2003-02-21T13:19:56+09:00 Subject: [ruby-dev:19632] Re: [ruby-cvs] ruby: * eval.c (rb_thread_remove): thread may die in the process of なかだです。 At Fri, 21 Feb 2003 12:18:34 +0900, Yukihiro Matsumoto wrote: > |というか、そもそもrb_thread_die()はスレッドをTHREAD_KILLEDにす > |るための関数なので、mayじゃなくてmustだろうと思うんですが、どう > |いう指摘だったんでしょうか。 > > こんな感じ。MPI Rubyで動かないってことですね。でも、言われて > みれば確かにそうですよねえ。 > | rb_thread_ready(th); > | rb_thread_die(th); > | if (th->status == THREAD_KILLED) return; /* cilibrar */ > | th->prev->next = th->next; > | th->next->prev = th->prev; > |} > |This double check is necessary, because a thread may be killed extraneously. もし、その後のリンクから外すところでSEGVするとしたら、スレッド リストが既に壊れてることになりますが。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦