形式
#include <sys/_Elmarm4.h>
arm_error_t arm_stop_transaction(
/* [in] */ arm_start_handle_t start_handle,
/* [in] */ arm_int32_t transaction_status,
/* [in] */ arm_int32_t flags,
/* [in] */ arm_buffer4_t *buffer4,
);
機能説明
arm_stop_transaction() は、トランザクションの実行の終了にマークを付ける
ために使用します。
そのトランザクションにスレッドがバインドされている場合、
arm_stop_transaction() はそれらをアンバインドします。
未解決の arm_blocked() 呼び出しのためにトランザクションがブロックされた
状態になっている場合、arm_stop_transaction() は、そのトランザクションが停止するとき、トランザクションはブロック解除されるものと見なします。
このクリーンアップ処理は、リカバリーの目的で存在しています。
アプリケーションは、通常処理の一部として arm_unbind_thread() およ
び arm_unblocked() を使用することが期待されています。
- start_handle
- このトランザクションに対する arm_start_transaction() から戻された
ハンドル。
- transaction_status
- トランザクションの完了コード。
- ARM_STATUS_GOOD
- トランザクションは正常終了しました。
- ARM_STATUS_ABORT
- トランザクションは異常終了しました。この値は、システムに基本的な障害
があることを示します。例えば、通信のタイムアウトや、データベースの操作エラー
などです。
- ARM_STATUS_FAILED
- トランザクションは失敗しました。
この値は、システムは正常に稼働したが、トランザクションが正常に実行できなか
ったことを表します。例えば、航空券を予約するときに、要求された定期便に座席
がないなどです。
- ARM_STATUS_UNKNOWN
- トランザクションの状況は不明です。
.
- flags
- 今後の使用のため予約されています。引数は 0 に設定する必要があります。
- buffer4
- 追加データが入っている 1 つ以上のサブバッファーを識別するバッファーへのポインター。
追加データが必要ない場合は、NULL ポインターを渡すことができます。
提案された ARM4 標準はこの関数に対してメトリック値のサブバッファーを定義して
いますが、eWLM はメトリックを処理しません。
バッファーが渡されても、eWLM はそれを無視します。
戻り値
正常に実行されると、arm_end_application は ARM_RC_SUCCESS を戻します。
失敗した場合、エラーを示す errno と戻りコードが設定されます。考えられるすべての戻りコードのリストについては、
戻りコードを参照してください。
- エラー・コード
- 説明
- EFAULT
- このサービスのパラメーターに、呼び出し元がアクセスできないアドレスが
入っていました。
- EINVAL
- このサービスのパラメーターに、無効な値が入っていました。
- EMVSARMERROR
- ARM エラーが発生しました。
具体的なエラーの戻りコードを参照してください。
- EPERM
- 呼び出し元に適切な特権がありません。戻りコードは ARM_RC_AUTH_ERROR に設定されます。
- EMVSSAF2ERR
- セキュリティー・プロダクトでエラーが発生しました。