arm_unbind_thread() — Unbind the current thread to a given transaction

Standards

Standards / Extensions C or C++ Dependencies
  both  

Format

#include <sys/_Elmarm4.h>

arm_error_t arm_unbind_thread(
/* [in]     */  arm_start_handle_t     start_handle,
/* [in]     */  arm_int32_t      flags,
/* [in]     */  arm_buffer4_t   *buffer4,
);

General description

Use arm_unbind_thread() to indicate the current thread is no longer performing processing on behalf of a given transaction.

If arm_unbind_thread() is not called, then arm_stop_transaction() unbinds any threads that remain bound to the transaction. This exists for recovery purposes. Applications are expected to use arm_unbind_thread() as part of normal processing.
start_handle
The handle returned by arm_start_transaction() for the transaction.
flags
Reserved for future use. The argument must be set to 0.
buffer4
A pointer to a buffer that identifies one or more sub-buffers containing additional data. Currently no sub-buffers are defined for this function so a null pointer should be passed. If a buffer is passed eWLM ignores it.

Returned value

On success, arm_unbind_thread returns ARM_RC_SUCCESS. On failure, the errno and return code are set to indicate the error. See Return code for the list of all possible return codes.
Error Code
Description
EFAULT
A parameter of this service contained an address that was not accessible to the caller.
EINVAL
A parameter of this service contained a value that was not valid.
EMVSARMERROR
An ARM error occurred. Refer to the return code for the specific error.
EPERM
The caller does not have the appropriate privileges. The return code is set to ARM_RC_AUTH_ERROR.
EMVSSAF2ERR
An error occurred in the security product.

Related information