bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tpsetctxt(3c)

名前

tpsetctxt()−現在のアプリケーション関連に対するコンテキスト識別子の設定

形式

#include <atmi.h>
int tpsetctxt(TPCONTEXT_T context, long flags)

機能説明

tpsetctxt() は、現在のスレッドが動作するコンテキストを定義します。この関数は、マルチスレッド環境ではスレッド単位で、非スレッド環境ではプロセス単位で動作します。

次にこのスレッドで BEA Tuxedo ATMI が呼び出されると、コンテキストが示すアプリケーションが参照されます。コンテキストは、同一プロセス内のスレッドで tpgetctxt() の呼び出しを発行することによって提供されます。context の値が TPNULLCONTEXT の場合、現在のスレッドはどの BEA Tuxedo ATMI コンテキストにも関連付けられません。

マルチコンテキスト・モードで動作しているプロセスの各スレッドでは、次の呼び出しを発行するによって、TPNULLCONTEXT 状態にすることができます。

tpsetctxt(TPNULLCONTEXT, 0)

TPINVALIDCONTEXT は、context に入力できる有効な値ではありません。

TPINVALIDCONTEXT 状態のスレッドは、ほとんどの ATMI 関数に対する呼び出しを発行できません(呼び出せる関数と呼び出せない関数のリストについては、C 言語アプリケーション・トランザクション・モニタ・インターフェイスについてを参照してください)。このため、必要に応じてスレッドの TPINVALIDCONTEXT 状態を終了させる必要があります。それには、コンテキストを TPNULLCONTEXT か別の有効なコンテキストに設定して tpsetctxt() を呼び出します。また、tpterm() 関数を呼び出して TPINVALIDCONTEXT 状態を終了させることもできます。

2 番目の引数 flags は現在使用されていないので、0 に設定します。

マルチスレッドのアプリケーション中のスレッドは、TPINVALIDCONTEXT を含め、どのコンテキスト状態で実行していても、tpsetctxt() の呼び出しを発行できます。

戻り値

tpsetctxt() は、正常終了時には 0 以外の値を返します。

異常終了すると、tpsetctxt() は呼び出しプロセスを元のコンテキストに維持したまま -1 を返し、tperrno を設定してエラー条件を示します。

エラー

異常終了時には、tpsetctxt()tperrno を次のいずれかの値に設定します。

[TPEINVAL]

無効な引数が指定されました。たとえば、flags が 0 以外の値に設定された、またはコンテキストが TPINVALIDCONTEXT です。

[TPENOENT]

context の値が有効なコンテキストではありません。

[TPEPROTO]

tpsetctxt() が正しくないコンテキストで呼び出されました。たとえば、(a) サーバがディスパッチしたスレッドで呼び出された、(b) tpinit() を呼び出していないプロセスで呼び出された、(c) TPMULTICONTEXTS フラグを指定しないで tpinit() を呼び出したプロセスで呼び出された、または (d) TMNOTHREADS 環境変数がオンになっているプロセスで複数のスレッドから呼び出された、などです。

[TPESYSTEM]

BEA Tuxedo システムのエラーが発生しました。エラーの正確な内容は、ログ・ファイルに書き込まれます。

[TPEOS]

オペレーティング・システムのエラーが発生しました。

関連項目

C 言語アプリケーション・トランザクション・モニタ・インターフェイスについて」、tpgetctxt(3c)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy