11.4.2 無効な記述子によるエラー

呼出し記述子は無効になることがあります。無効な記述子が参照されると、次の場合に、tperrno(5)にエラーが返されます:

  • 呼出し記述子を使用してメッセージを取得したが、それがエラー・メッセージの場合(TPEBADDESC)
  • 無効になった呼出し記述子の再利用を試みた場合(TPEBADDESC)

呼出し記述子が無効になるのは、以下のような場合です。

  • アプリケーションでtpabort()またはtpcommit()を呼び出したとき、TPNOTRANフラグを設定せずに送信されたトランザクション応答が取得されずに残っている場合。
  • トランザクションがタイムアウトになった場合。tpgetrply()の呼出しでタイムアウトが通知された場合、指定された記述子を使用してメッセージを取得することはできず、記述子は無効になります。