arm_unblock_transaction (3) - Linux Manuals

arm_unblock_transaction: unblock transaction


arm_unblock_transaction - unblock transaction


#include <arm4.h>


 const arm_tran_start_handle_t 

 const arm_tran_block_handle_t 

 const arm_int32_t 

 const arm_buffer4_t *


arm_unblock_transaction() indicates that the suspension indicated by the block_handle for the transaction identified by the start handle is no longer waiting for a downstream transaction to complete.

Call arm_unblock_transaction() when a transaction is no longer blocked on an external event. It should be called when arm_block_transaction() was previously called and the blocking condition no longer exists. Knowledge of when a transaction is blocked can be useful for better understanding response times. It is useful to separate out this "blocked" time from the elapsed start-to-stop time. The unblocked call is paired with a block call for finer grained analysis.

arm_stop_transaction() is an implicit arm_unblock_transaction() for any blocking condition for the transaction instance that has not been cleared yet [arm_block_transaction() issued without a matching arm_unblock_transaction()]. It should only be called without calling arm_unblock_transaction() first when the blocking condition ends immediately prior to the transaction ending.

block_handle is a handle returned in an out parameter from an arm_block_transaction() call in the same process.

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.


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


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.

The following errors are recognized by this implementation, but may not be portable to other implementations:

An internal error has occurred that prevented the operation from completing. Check your system log for more details.


ARM Issue 4.0 C Language Bindings, Version 2