まつもと ゆきひろです

In message "[ruby-list:20282] Re: Ruby/Tk multi interpreter"
    on 00/01/19, nagai / dumbo.ai.kyutech.ac.jp <nagai / dumbo.ai.kyutech.ac.jp> writes:

|Tcl/Tk の動作を完全に把握しているわけではないので確信は持てないんですが,
|Tcl/Tk の動作って,
|--------------------------------------------------------
|・イベントが発生した時,
|  イベント queue が空なら即実行.
|  イベント queue に処理待ちのイベントが存在するなら
|     新しいイベントを適当な待ち順に追加.
|
|・( Tk_MainLoop() の処理 )
|  root widget が存在する限り,Tcl_DoOneEvent を繰り返す.
|
|・(Tcl_DoOneEvent() の処理 )
|  イベント queue に処理待ちのイベントが存在するなら,そこから一つを実行
|  存在しなければ,アイドル時に行うべき処理を実行
|--------------------------------------------------------
|ですよね?

そのはずです。

|現在は,Tk.mainloop などでは単に Tk_MainLoop を実行しているだけなんで,
|代りに,スレッド切替えのタイミングなどに合わせつつ
|Tcl_DoOneEvent() を適当に呼び出すようにすれば改善できるのかもしれません.

だと良いのですが。手元でタイマーイベントによるポーリングを止
めて、明示的にスレッドの切替えを行うように修正してみたのです
が、Tclの中でSEGVします。あきらめて元に戻してしまいました。
どうやら先は遠そうです。
                                まつもと ゆきひろ /:|)