10.4.2.2 TPMULTICONTEXTSが設定されていない場合のtpinit()の呼出し
TPMULTICONTEXTS
が設定されていない場合にtpinit()
が呼び出されると、この関数はシングル・コンテキスト・アプリケーションで呼び出されたときと同じように動作します。tpinit()
がすでに1回呼び出されている場合、それ以降のtpinit()
呼出しでTPMULTICONTEXTS
フラグが設定されていなくても、この関数は正常に終了します。これは、アプリケーション内のTUXCONFIG
またはWSNADDR
環境変数の値が変更されている場合にも当てはまります。TPMULTICONTEXTS
フラグを設定せずにtpinit()
を呼び出すことは、マルチコンテキスト・モードではできません。
クライアントがアプリケーションに参加していない場合に、tpinit()
を呼び出す別の関数の呼出しの結果として、暗黙的にtpinit()
が呼び出されると、Oracle TuxedoシステムではTPMULTICONTEXTS
フラグが設定されずにtpinit()
が呼び出されたと解釈されます。これは、以降のtpinit()
呼出しでどのフラグが使用されるかを判断するためです。
ほとんどのATMI関数は、すでにマルチコンテキスト・モードで動作しているプロセスのコンテキストに関連付けされていないスレッドに呼び出された場合、tperrno(5) =TPEPROTO
が設定されて失敗します。