From: "U.Nakamura" Date: 2002-10-15T18:28:41+09:00 Subject: [ruby-dev:18521] Re: Segmentaion fault of miniruby こんにちは、なかむら(う)です。 In message "[ruby-dev:18520] Re: Segmentaion fault of miniruby" on Oct.15,2002 18:01:24, wrote: | > 最初そう思ってなかださんのパッチのようにしてたんですけど、後 | > で考え直してこうしてみました。 | > つまり、私の修正の形で、st_add_direct()してからentryやvarを初 | > 期化し終わるまでの間にGCが走ることがあるかどうか、ってことな | > んですが、実際にはどうなんでしょう? | > | > st_add_direct()の中でならありえるけど、その時点ではまだrb_global_tbl | > に登録されてないのでやっぱり大丈夫と解釈してます。 | | 確かに大丈夫そうです。間違えました。 とか言いつつ、実際にcommitするコードはなかださんのやつの方が いいと思ってますです。 # そういう意味では、variable.cの771行目と772行目も入れ替えた # い... | > | # NoMemoryErrorが起きたときにentryやvarがリークしそうな気がしな | > | # くもないんですが。 | > | > そこまで具体的には考えなかったんですが、同じ懸念を抱きました。 | > でもそれなら1.6とかでもentryがリークするパターンがあるような | > 気がするので思考停止しました ^^; | | 頻度とか考えるとrb_protect()するほどではないけど、っていうのが | 時折あるんですよねぇ。この場合でいうと、global_entryと | global_variableをくっつけて、一緒に割り当ててしまうって手はあり | そうですが。 rb_protect()って何をどうするものなんでしょう...(とか今頃言う ヤツ) それでは。 -- U.Nakamura # やはりRHGに期待