ToolTalk ユーザーズガイド

ToolTalk procid とセッション

ToolTalk クライアントが tt_open() または tt_session_join() を呼び出すと、新規 procid またはセッションがそのスレッドのデフォルトとなります。マルチスレッド以外の ToolTalk クライアントのときは、全プロセスが対象でしたが、ここではそうでありません。tt_open() または tt_session_join() への呼び出しが行われる前のスレッドの procid およびセッションのデフォルト値は、最初はスレッドの作成者のものと同様です。tt_open() または tt_session_join() によるデフォルト値の変更の他に、tt_thread_procid_set()tt_thread_session_set() を使うと、以前に作成した他のデフォルト値を変更できます。procid とセッションのデフォルト値は、tt_thread_procid()tt_thread_session() を使って検索できます。スレッドに特有の procid とセッション値は、スレッドに特有の記憶領域を使って管理します。スレッドに値が作成されていない場合は、ToolTalk プロセス全体におけるデフォルト値は代替値です。


注 -

tt_default_procid()tt_thread_procid() (同様に、tt_default_session()tt_thread_session()) によって返される値が、特定の時間においてスレッドによって違う場合があります。これは、tt_default_procid_set()tt_default_session_set() が、スレッドのデフォルト値に影響しないためです。影響を受けるのは、ToolTalk 全体のプロセスのデフォルト値だけです。


ToolTalk が有効なアプリケーションでスレッドを使用することは、procid とセッションを切り換えるプログラムの自然な実装技術の 1 つです。これらのプログラムを使用して、ある時点でどの ToolTalk procid が ToolTalk セッションと関連を持っているかを簡単に判断できます。これは、ToolTalk の以前のバージョンで実行するのは困難でした。これを行うために、tt_procid_session() が提供されています。tt_procid_session() は、スレッドに依存しているわけではありませんが、ToolTalk でスレッドを使用するアプリケーションには有効です。