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

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tpabort(3c)

名前

tpabort()−現在のトランザクションをアボートするルーチン

形式

#include <atmi.h>
int tpabort(long flags)

機能説明

tpabort() は、トランザクションのアボートを指定します。この関数が終了すると、そのトランザクションでなされたリソースへの変更内容はすべて取り消されます。tpcommit() と同様、この関数は、トランザクションのイニシエータからしか呼び出せません。パーティシパント (つまり、サービス・ルーチン) は、トランザクションをアボートさせたい場合には、TPFAIL を付けて tpreturn() を呼び出します。

未終了の応答に対する呼び出し記述子が存在するときに tpabort() を呼び出すと、この関数の終了時に、トランザクションはアボートし、呼び出し側のトランザクションに関連するこれらの記述子は以後無効になります。呼び出し側のトランザクションに関連がない呼び出し記述子の状態は有効のままです。

トランザクション・モードの会話型サーバに対してオープン接続がある場合、tpabort()TPEV_DISCONIMM イベントをサーバに送ります (そのサーバが接続の制御権を有するかどうかに関係なく)。tpbegin() の前に、あるいは TPNOTRAN フラグを付けて (つまり、トランザクション・モードでない状態で) オープンされた接続は、影響を受けません。

現時点では、tpabort() の唯一の引数 flags は将来使用する予定であり、現在は必ずゼロを指定してください。

マルチスレッドのアプリケーションの場合、TPINVALIDCONTEXT 状態のスレッドは tpabort() の呼び出しを発行できません。

戻り値

異常終了すると、tpabort() は -1 を返し、tperrno を設定してエラー条件を示します。

エラー

異常終了すると、tpabort()tperrno を次のいずれかの値に設定します。

[TPEINVAL]

flags が 0 ではありません。呼び出し元のトランザクションは影響を受けません。

[TPEHEURISTIC]

ヒューリスティックな決定により、トランザクションの代わりに行われた処理は部分的に完了し、部分的にアボートされました。

[TPEHAZARD]

ある種の障害のため、トランザクションの一部としてなされた作業がヒューリスティックに完了している可能性があります。

[TPEPROTO]

tpabort() が (パーティシパントに呼び出されるなど) 不正に呼び出されました。

[TPESYSTEM]

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

[TPEOS]

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

注意事項

BEA Tuxedo ATMI システムのトランザクションを記述するために tpbegin()tpcommit()、および tpabort() を使用する場合、XA インターフェイスに準拠した (呼び出し元に妥当にリンクされている) リソース・マネージャが行う作業のみがトランザクションの特性を備えていることを記憶しておくことが重要です。トランザクションにおいて実行される他のすべての操作は、tpcommit() あるいは tpabort() のいずれにも影響されません。

関連項目

tpbegin(3c)tpcommit(3c)tpgetlev(3c)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy