いがらしです。

「[ruby-ext:00430] Re: [ruby-list:16691] Re: gtk + socket」で 、
Masaki Fukushima <fukusima / goto.info.waseda.ac.jp>さんは書きました:

> 福嶋です。
> 
> > 一つの select にまとめられれば解決す
> > るんじゃないかと思いますが、それは現状では無理っぽいですね。
> 
> と書きましたが、g_main_set_poll_func() というglibの関数を使えば
> gtk側でI/Oのポーリングに使われる関数を差し替えられるようです。こ
> れを使ってruby側で待っているfdとまとめてselect()するような関数を
> 書けば全て解決できるのかも。

確かにglibのリファレンスマニュアルを読むとまさに

This function could possibly be used to integrate
 the GLib event loop with an external event loop.

なんて書いてあります。もしpolling関数を差し換えるなら
少なくともruby側の方にもg_main_set_poll_func()相当の
機能が必要になりますね。スレッド絡みでそれだけじゃ
済まないでしょうけど。

----
五十嵐  宏  (Hiroshi IGARASHI)