diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-10-14 15:25:45 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-10-14 15:25:45 +0000 |
commit | 382b4ae9a34c2f697464e1e42fd0fdc277fdd3c3 (patch) | |
tree | 2411731a86321077cae6101089d0e76f96c97cb4 /ext/tcltklib/MANUAL.euc | |
parent | 6adad139461f64d6bc011df2236d21f53c5fac8c (diff) | |
download | ruby-382b4ae9a34c2f697464e1e42fd0fdc277fdd3c3.tar.gz |
ext/tcltklib/tcltklib.c:
* replace Tcl/Tk's vwait and tkwait to switch on threads smoothly and
avoid seg-fault.
* add TclTkIp._thread_vwait and _thread_tkwait for waiting on a thread.
( Because Tcl/Tk's vwait and tkwait command wait on a eventloop. )
ext/tk/lib/multi-tk.rb:
* support TclTkIp._thread_vwait and _thread_tkwait
ext/tk/lib/tk.rb:
* now, TkVariable#wait has 2 arguments.
If 1st argument is true, waits on a thread. If false, waits on an eventloop.
If 2nd argument is true, checks existence of rootwidgets. If false, doesn't.
Default is wait(true, false).
* add TkVariable#tkwait(arg) which is equal to TkVariable#wait(arg, true)
* wait_visibility and wait_destroy have an argument for waiting on a
thread or an eventloop.
* improve of accessing Tcl/Tk's special variables
ext/tk/lib/tkafter.rb:
* support 'wait on a thread' and 'wait on an eventloop'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tcltklib/MANUAL.euc')
-rw-r--r-- | ext/tcltklib/MANUAL.euc | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/ext/tcltklib/MANUAL.euc b/ext/tcltklib/MANUAL.euc index 8a7143892c..90b32f00c7 100644 --- a/ext/tcltklib/MANUAL.euc +++ b/ext/tcltklib/MANUAL.euc @@ -1,5 +1,5 @@ (tof) - 2003/08/07 Hidetoshi NAGAI + 2003/10/12 Hidetoshi NAGAI 本ドキュメントには古い tcltk ライブラリ,tcltklib ライブラリの説明 が含まれていますが,その記述内容は古いものとなっています. @@ -348,6 +348,27 @@ require "tcltklib" すると, 以下のモジュール, クラスが利用可能です. _fromUTF8(str, encoding) : Tcl/Tk が内蔵している UTF8 変換処理を呼び出す. + _thread_vwait(var_name) + _thread_tkwait(mode, target) + : スレッド対応の vwait あるいは tkwait 相当のメソッド. + : 通常の vwait あるいは tkwait コマンドと異なるのは,イベン + : トループとは異なるスレッドから呼び出した場合に vwait 等の + : スタックとは独立に条件の成立待ちがなされることである. + : 通常の vwait / tkwait では,vwait / tkwait (1) の待ちの途 + : 中でさらに vwait / tkwait (2) が呼ばれた場合,待ちの対象 + : となっている条件の成立順序がどうあれ,(2)->(1) の順で待ち + : を終了して戻ってくる. + : _thread_vwait / _thread_tkwait は,イベントループのスレッ + : ドで呼ばれた場合は通常の vwait / tkwait と同様に動作する + : が,イベントループ以外のスレッドで呼ばれた場合にはそのス + : レッドを停止させて待ちに入り,条件が成立した時にスレッド + : の実行を再開する.「vwait 等の待ちスタックとは独立」とい + : う意味は,この再開のタイミングが他のスレッドでの待ち状況 + : とは無関係ということである.つまり,イベントループ等の他 + : のスレッドで vwait 等で待ちの状態にあったとしてもその完了 + : を待つことなく,自らの待ち条件が成立次第,処理を継続する + : ことになる. + _return_value : 直前の Tcl/Tk 上での評価の実行結果としての戻り値を返す. |