1arm_stop_transaction(3) ARM 4 Programmer's Manual arm_stop_transaction(3)
2
3
4
6 arm_stop_transaction - stop transaction
7
9 #include <arm4.h>
10
11 arm_error_t
12 arm_stop_transaction(
13 const arm_tran_start_handle_t tran_handle,
14 const arm_tran_status_t tran_status,
15 const arm_int32_t flags,
16 const arm_buffer4_t *buffer4);
17
19 arm_stop_transaction() signals the end of a transaction.
20
21 Call arm_stop_transaction() just after a transaction completes.
22 arm_start_transaction() signals the ARM library to start timing the
23 transaction response time. arm_stop_transaction() signals the ARM
24 library to stop timing the transaction response time. It can be called
25 from any thread in the process that executed the arm_start_transac‐
26 tion().
27
28 Implicit arm_unbind_thread() and arm_unblock_transaction() calls are
29 made for any pending arm_bind_thread() and arm_block_transaction()
30 calls, respectively, that have not been explicitly unbound or unblocked
31 with arm_unbind_thread() and arm_unblock_transaction().
32
33 buffer4 is a pointer to the user data buffer, if any. If the pointer is
34 null (ARM_BUF4_NONE), there is no buffer. The sub-buffers that may be
35 used are arm_subbuffer_diag_detail_t and arm_subbuffer_metric_values_t.
36
37 flags contains 32-bit flags. No values are currently defined. The field
38 should be zero (ARM_FLAG_NONE).
39
40 tran_handle is a handle returned in an out parameter from an
41 arm_start_transaction() call in the same process.
42
43 tran_status indicates the status of the transaction. The following val‐
44 ues are allowed:
45
46
47 0 (ARM_STATUS_GOOD) = transaction completed successfully
48
49 1 (ARM_STATUS_ABORTED) = transaction was aborted before it com‐
50 pleted. For example, the user might have pressed "Stop" or
51 "Back" on a browser while a transaction was in process, causing
52 the transaction, as measured at the browser, to be aborted.
53
54 2 (ARM_STATUS_FAILED) = transaction completed in error
55
56 3 (ARM_STATUS_UNKNOWN) = transaction completed but the status was
57 unknown. This would most likely occur if middleware or some
58 other form of proxy instrumentation measured the transaction.
59 This instrumentation may know enough to know when the transac‐
60 tion starts and stops, but does not understand the application-
61 specific semantics sufficiently well to know whether the trans‐
62 action was successful.
63
65 On success, the function returns ARM_SUCCESS. A non-zero value indi‐
66 cates an error.
67
69 If the return code is negative, an error occurred. If the return code
70 is not negative, an error may or may not have occurred - the determina‐
71 tion of what is an error and whether an error code is returned is at
72 the discretion of the ARM implementation. The application can test the
73 return code if it wants to provide its own error logging.
74
75 The following errors are recognized by this implementation, but may not
76 be portable to other implementations:
77
78
79 ARM_FAILURE_INTERNAL_ERROR
80 An internal error has occurred that prevented the operation from
81 completing. Check your system log for more details.
82
84 ARM Issue 4.0 C Language Bindings, Version 2
85
87 None.
88
90 arm_bind_thread(3), arm_block_transaction(3), arm_start_transaction(3),
91 arm_unbind_thread(3), arm_unblock_transaction(3)
92
93
94
95arm4.org August 2008 arm_stop_transaction(3)