NAME

arm_unbind_thread - unbind a thread

SYNOPSIS

#include <arm4.h>

arm_error_t
arm_unbind_thread(

 const arm_tran_start_handle_t 
tran_handle

 const arm_int32_t 
flags,

 const arm_buffer4_t *
buffer4);

DESCRIPTION

arm_unbind_thread() indicates that the thread from which it is called is no longer performing on behalf of the transaction identified by the start handle.
  Call arm_unbind_thread() when a thread is no longer executing a transaction. The thread binding is useful for managing computing resources at a finer level of granularity than the process. It should be called when, for this transaction and this thread, either:
*
arm_bind_thread() was previously called, or
*
The ARM_FLAG_BIND_THREAD flag was set in the arm_start_transaction() call. arm_stop_transaction() is an implicit arm_unbind_thread() for any threads still bound to the transaction instance [arm_bind_thread() issued without a matching arm_unbind_thread()]. As long as the transaction is bound to the thread when the arm_stop_transaction() executes, there is no need nor any value in calling arm_unbind_thread() before calling arm_stop_transaction().

buffer4 is a pointer to the user data buffer, if any. If the pointer is null, there is no buffer. No sub-buffer types are currently valid with this function call, so the pointer should be null (ARM_BUF4_NONE).
  flags contains 32-bit flags. No values are currently defined. The field should be zero (ARM_FLAG_NONE).
  tran_handle is a handle returned in an out parameter from an arm_start_transaction() call in the same process.
 

RETURN VALUE

On success, the function returns ARM_SUCCESS. A non-zero value indicates an error.

ERRORS

If the return code is negative, an error occurred. If the return code is not negative, an error may or may not have occurred - the determination of what is an error and whether an error code is returned is at the discretion of the ARM implementation. The application can test the return code if it wants to provide its own error logging.

This implementation returns no errors for arm_unbind_thread().

CONFORMING TO

ARM Issue 4.0 C Language Bindings, Version 2

EXAMPLE

None.

SEE ALSO

arm_bind_thread(3), arm_start_transaction(3), arm_stop_transaction(3)