From: Masao M. <mu...@hi...> - 2006-05-23 15:46:21
|
むとうです。 On Tue, 23 May 2006 11:56:52 +0900 "Kouhei Sutou" <ko...@co...> wrote: > 須藤です. > > 以下のようなスクリプトを実行すると,Gtk.idle_addに設定したコールバック > が(もう呼ばれないのに)GCされずに残ってしまいます.このため,コールバッ > クのクロージャが参照しているオブジェクトもGCされなくなってしまいます. <snip> > 実行結果: > [:before, 100] > [:after, 100] > > > 添付のパッチを当てると,手元ではこんな実行結果になりました: > [:before, 100] > [:after, 2] > > > # パッチ中で,id_relative_callbacksじゃなくてid__idle_callbacks__とかを > # 使っているのはidleとかtimeoutでidが重複したら嫌だなぁと思ったからです. むむむ。パッチ試してみたのですが、私の環境だと [:before, 100] [:after, 100] になっちゃいます...。なんでだろう。 $ ruby -v ruby 1.9.0 (2006-05-23) [i686-linux] --enable-thread版、Sjoredパッチ付きのRuby/GLib2使用。 です。 -- .:% Masao Mutoh<mu...@hi...> |