2003-09-18 [長年日記]
λ. モーニング娘
どうでもいいけど、最近加護ちゃんかわいいですね。 あの辺の年齢はどんどん化けるので、将来が楽しみです 同様の理由で、辻ちゃんにも期待 新規加入した娘。は正直わからんし、どーでもよいです
λ. signal_connect("destroy"){}
「ruby -rgtk2 -e 'Gtk.init; Gtk::Button.new.signal_connect("destroy"){} '」で落ちる問題、とりあえず解決。原因は前から分かっていて、
- Rubyの終了処理開始
- Ruby側のオブジェクトが開放される
- glib/gtk側のオブジェクトがunrefされる
- glib/gtk側のオブジェクトのリファレンスカウンタが0になる
- destroyシグナルが発生して、signal_connectのブロックを呼ぼうとする
- しかし、Ruby側はすでに通常の実行状態ではないので、正しく呼べない
- Segmentation Fault
という事が起こっていた。
Rubyが終了処理に入っていたらブロックを呼ばない事にすれば良いのだけど、「Rubyが終了処理に入っている」事をどうやって知れば良いかで数日悩んでいた。で、今日ふとrb_set_end_proc()で登録した関数内でフラグを立てればいいということに気が付いたので、解決。
この件についてはもっと対処が必要な気もするけど、落ちることだけはなくなるはずなので、残りは後回しでいいや。
λ. Relator
Functorの概念を使っているプログラミング言語は多いけど、Relatorの概念を使っている言語はあるか? (高階の論理型言語とか?)
λ. 読書
- 『天国に涙はいらない 9 - ふんどし汁繁盛記』
- 佐藤ケイ[著] さがのあおい[イラスト]
懐かしいなあ、ということで久しぶりにやってみたら 47 点でした。<辻加護判別ゲーム
39点でした.
わたしゃ17点でした。マジで区別付きません。