| 1 | .\" Copyright (c) 2005-2008 David Carter <dcarter@arm4.org> and others. |
|---|
| 2 | .\" All rights reserved. This program and the accompanying materials |
|---|
| 3 | .\" are made available under the terms of the Eclipse Public License v1.0 |
|---|
| 4 | .\" which accompanies this distribution, and is available at |
|---|
| 5 | .\" http://www.eclipse.org/legal/epl-v10.html |
|---|
| 6 | .TH "arm_unblock_transaction" 3 "August 2008" "arm4.org" "ARM 4 Programmer's Manual" |
|---|
| 7 | .SH NAME |
|---|
| 8 | arm_unblock_transaction \- unblock transaction |
|---|
| 9 | .SH SYNOPSIS |
|---|
| 10 | .B #include <arm4.h> |
|---|
| 11 | .sp |
|---|
| 12 | \fBarm_error_t |
|---|
| 13 | .br |
|---|
| 14 | arm_unblock_transaction( |
|---|
| 15 | .br |
|---|
| 16 | const arm_tran_start_handle_t \fItran_handle\fB, |
|---|
| 17 | .br |
|---|
| 18 | const arm_tran_block_handle_t \fIblock_handle\fB, |
|---|
| 19 | .br |
|---|
| 20 | const arm_int32_t \fIflags\fB, |
|---|
| 21 | .br |
|---|
| 22 | const arm_buffer4_t *\fIbuffer4\fB);\fR |
|---|
| 23 | .SH DESCRIPTION |
|---|
| 24 | \fBarm_unblock_transaction()\fR indicates that the suspension indicated by the \fIblock_handle\fR for the |
|---|
| 25 | transaction identified by the start handle is no longer waiting for a downstream transaction to |
|---|
| 26 | complete. |
|---|
| 27 | |
|---|
| 28 | Call \fBarm_unblock_transaction()\fR when a transaction is no longer blocked on an external event. It |
|---|
| 29 | should be called when \fBarm_block_transaction()\fR was previously called and the blocking |
|---|
| 30 | condition no longer exists. Knowledge of when a transaction is blocked can be useful for better |
|---|
| 31 | understanding response times. It is useful to separate out this "blocked" time from the elapsed |
|---|
| 32 | start-to-stop time. The unblocked call is paired with a block call for finer grained analysis. |
|---|
| 33 | |
|---|
| 34 | \fBarm_stop_transaction()\fR is an implicit \fBarm_unblock_transaction()\fR for any blocking condition for |
|---|
| 35 | the transaction instance that has not been cleared yet [\fBarm_block_transaction()\fR issued without a |
|---|
| 36 | matching \fBarm_unblock_transaction()\fR]. It should only be called without calling |
|---|
| 37 | \fBarm_unblock_transaction()\fR first when the blocking condition ends immediately prior to the |
|---|
| 38 | transaction ending. |
|---|
| 39 | |
|---|
| 40 | \fIblock_handle\fR is a handle returned in an out parameter from an \fBarm_block_transaction()\fR call in the |
|---|
| 41 | same process. |
|---|
| 42 | |
|---|
| 43 | \fIbuffer4\fR is a pointer to the user data buffer, if any. If the pointer is null, there is no buffer. No |
|---|
| 44 | sub-buffer types are currently valid with this function call, so the pointer should be |
|---|
| 45 | null (\fBARM_BUF4_NONE\fR). |
|---|
| 46 | |
|---|
| 47 | \fIflags\fR contains 32-bit flags. No values are currently defined. The field should be zero |
|---|
| 48 | (\fBARM_FLAG_NONE\fR). |
|---|
| 49 | |
|---|
| 50 | \fItran_handle\fR is a handle returned in an out parameter from an \fBarm_start_transaction()\fR call in the |
|---|
| 51 | same process. |
|---|
| 52 | |
|---|
| 53 | .SH "RETURN VALUE" |
|---|
| 54 | On success, the function returns \fBARM_SUCCESS\fR. A non-zero value indicates |
|---|
| 55 | an error. |
|---|
| 56 | .SH ERRORS |
|---|
| 57 | If the return code is negative, an error occurred. If the return code is not negative, an error may |
|---|
| 58 | or may not have occurred - the determination of what is an error and whether an error code is |
|---|
| 59 | returned is at the discretion of the ARM implementation. The application can test the return code |
|---|
| 60 | if it wants to provide its own error logging. |
|---|
| 61 | |
|---|
| 62 | The following errors are recognized by this implementation, but may not be portable to other implementations: |
|---|
| 63 | |
|---|
| 64 | .TP |
|---|
| 65 | .B ARM_FAILURE_INTERNAL_ERROR |
|---|
| 66 | An internal error has occurred that prevented the operation from completing. Check your |
|---|
| 67 | system log for more details. |
|---|
| 68 | .SH "CONFORMING TO" |
|---|
| 69 | ARM Issue 4.0 C Language Bindings, Version 2 |
|---|
| 70 | .SH EXAMPLE |
|---|
| 71 | None. |
|---|
| 72 | .SH "SEE ALSO" |
|---|
| 73 | .BR arm_block_transaction (3), |
|---|
| 74 | .BR arm_start_transaction (3), |
|---|
| 75 | .BR arm_stop_transaction (3) |
|---|