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が設定されて失敗します。