From: nobu.nakada@... Date: 2002-10-15T18:01:24+09:00 Subject: [ruby-dev:18520] Re: Segmentaion fault of miniruby なかだです。 At Tue, 15 Oct 2002 17:06:02 +0900, U.Nakamura wrote: > | これだとやっぱり*entryは初期化されてないのでは。 > > 最初そう思ってなかださんのパッチのようにしてたんですけど、後 > で考え直してこうしてみました。 > つまり、私の修正の形で、st_add_direct()してからentryやvarを初 > 期化し終わるまでの間にGCが走ることがあるかどうか、ってことな > んですが、実際にはどうなんでしょう? > > st_add_direct()の中でならありえるけど、その時点ではまだrb_global_tbl > に登録されてないのでやっぱり大丈夫と解釈してます。 確かに大丈夫そうです。間違えました。 > | # NoMemoryErrorが起きたときにentryやvarがリークしそうな気がしな > | # くもないんですが。 > > そこまで具体的には考えなかったんですが、同じ懸念を抱きました。 > でもそれなら1.6とかでもentryがリークするパターンがあるような > 気がするので思考停止しました ^^; 頻度とか考えるとrb_protect()するほどではないけど、っていうのが 時折あるんですよねぇ。この場合でいうと、global_entryと global_variableをくっつけて、一緒に割り当ててしまうって手はあり そうですが。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦