From: Hidetoshi NAGAI Date: 2006-04-05T18:20:40+09:00 Subject: [ruby-dev:28507] Re: rb_gc_call_finalizer_at_exit() の実行中かどうかを知りたい 永井@知能.九工大です. From: Tanaka Akira Subject: [ruby-dev:28505] Re: rb_gc_call_finalizer_at_exit() の実行中かどうかを知りたい Date: Wed, 5 Apr 2006 03:30:04 +0900 Message-ID: <87u099dwr8.fsf@m17n.org> > tk で実験したわけではないのでなんですが、zlib や bdb の経験 > からいうと、終了処理中に SEGV するなら、終了処理中ではなくて > も SEGV するかもしれない、と思います。 > > 問題は複数のオブジェクトを一度に回収する場合にそれらの > finalize 処理が予期しない順序で起動するというところにありま > すが、これは普通の GC でも起きるので。 少なくとも終了処理中でない場合,TclTkIp オブジェクトが finalize される前は後始末に必要なオブジェクトへの参照は 情報管理用のハッシュ等の上に残っているはずなので, TclTkIp オブジェクトの finalize の前に消えることはないと 考えていたのですが,そのように考えるのは間違いでしょうか. > > あるいは,他に何かうまい方法またはこうすべきというような方法は > > ありますでしょうか. > > とりあえず finalize 処理が起動する順序を調べてみるといいんじゃ > ないかと思います。 アドバイスをありがとうございます. 検討してみます. -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp