bea ホーム | 製品 | dev2dev | support | askBEA |
|
e-docs > Tuxedo > Tuxedo C リファレンス > セクション 3c - C 関数 |
Tuxedo C リファレンス |
名前
tx_begin()−グロ―バル・トランザクションの開始
形式
#include <tx.h>
int tx_begin(void)
機能説明
tx_begin() は、呼び出し元の制御スレッドをトランザクション・モードにする際に使用します。呼び出し元のスレッドは、トランザクションを開始する前に、リンクされているリソース・マネージャがオープンしている (tx_open() を介して) ことを、まず第 1 に確実にしなければなりません。呼び出し元がすでにトランザクション・モードにある場合、または tx_open() が呼び出されていない場合には、tx_begin() は ([TX_PROTOCOL_ERROR] を返して) 異常終了します。
トランザクション・モードに入ると、呼び出し元のスレッドは、現在のトランザクションを完了させるために、tx_commit() または tx_rollback() を呼び出さなければなりません。トランザクションの連鎖に関連する条件によっては、トランザクションの開始に明示的に tx_begin() を呼び出す必要がないこともあります。詳細については、tx_commit() および tx_rollback() を参照してください。
マルチスレッドのアプリケーションの場合、TPINVALIDCONTEXT 状態のスレッドは、tx_begin() の呼び出しを発行できません。
選択可能なセットアップ
tx_set_transaction_timeout()
戻り値
tx_begin() は、正常終了時には、負数ではない戻り値 TX_OK を返します。
エラー
次の条件の場合、tx_begin() は異常終了し、次のいずれかの負の値を返します。
関連項目
tx_commit(3c)、tx_open(3c)、tx_rollback(3c)、tx_set_transaction_timeout(3c)
警告
XA 準拠のリソース・マネージャがグローバル・トランザクションに含まれるようにするには、そのリソース・マネージャが正常にオープンされている必要があります(詳細については、tx_open(3c) を参照してください)。X/Open TX インターフェイスと X-Window システムは、いずれも型 XID を定義します。同一のファイルで X-Window コールと TX コールの両方を使用することはできません。