7.5.3 無秩序な切断の実行
エラーの発生により切断する唯一の方法は、tpdiscon(3c)
関数を呼び出すことです(「プラグを抜くこと」と同じです)。この関数を呼び出すことができるのは、会話のイニシエータ(クライアント)のみです。
ノート:
この方法で会話を終了することはお薦めしません。アプリケーションを正常に終了するには、サブオーディネート(サーバー)がtpreturn()関数を呼び出す必要があります。tpdiscon()
関数の呼出しには、次のシグネチャを使用します。
int
tpdiscon(int cd)
cd
引数は、接続が確立したときにtpconnect()関数によって返される接続記述子を指定します。
tpdiscon()
関数は、接続の相手側のサービスに対してTPEV_DISCONIMM
イベントを生成し、cd
を無効にします。トランザクションが実行中の場合、そのトランザクションは中断され、データは失われます。
cd
で接続の開始側と識別されていないサービスからtpdiscon()
が呼び出されると、その呼出しは失敗し、エラー・コードTPEBADDESC
が生成されます。
イベントおよびエラー・コードの全リストとその説明については、『Oracle Tuxedo ATMI C言語関数リファレンス』の「tpdiscon(3c)」を参照してください。
親トピック: 会話の終了