From: matz@... (Yukihiro Matsumoto) Date: 1997-08-06T14:54:45+09:00 Subject: [ruby-dev:64] Re: About C struct who has references to ruby objects まつもと ゆきひろです In message "[ruby-dev:62] Re: About C struct who has references to ruby objects" on 97/08/06, maeda shugo writes: || |Bufferオブジェクト ---------------> Dataオブジェクト || | ^ インスタンス変数 | || | |          | || | +---------------------------- Buffer構造体 || | 構造体のメンバ |実はGCでBufferオブジェクトが消されてしまうという自体が |起きているようで...うーむ。 |Bufferオブジェクトはrb_global_variable()でマークした |Hashに登録してるんですけど、なぜだろう。もう少し調べて |みます。 Hashから参照されているオブジェクトが解放されるということはか なり考えにくいので, * 実はHashに登録されていない * rb_global_variableへの登録が間違っている(変数のアドレス を渡していない) * rubyのGCのバグ などが考えられます.ただし,GCのバグは大抵致命的な問題になる ので現在まで生き残っているとは思いにくいのですが…. 実際のコードを(直メールなどで)見せていただければ,なにかわか るかもしれません. それはそうと,rubyインタプリタにはmark関数を使ったDataオブジェ クトは存在しなかったと思うので,使い方の例が無いですよね.す みません. まつもと ゆきひろ /:|)