NAME

arm_unblock_transaction - unblock transaction

SYNOPSIS

#include <arm4.h>

arm_error_t
arm_unblock_transaction(

 const arm_tran_start_handle_t 
tran_handle

 const arm_tran_block_handle_t 
block_handle

 const arm_int32_t 
flags,

 const arm_buffer4_t *
buffer4);

DESCRIPTION

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.

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.

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

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

CONFORMING TO

ARM Issue 4.0 C Language Bindings, Version 2

EXAMPLE

None.

SEE ALSO

arm_block_transaction(3), arm_start_transaction(3), arm_stop_transaction(3)