1arm_discard_transaction(3) ARM 4 Programmer's Manualarm_discard_transaction(3)
2
3
4
6 arm_discard_transaction - discard transaction
7
9 #include <arm4.h>
10
11 arm_error_t
12 arm_discard_transaction(
13 const arm_tran_start_handle_t tran_handle,
14 const arm_int32_t flags,
15 const arm_buffer4_t *buffer4);
16
18 arm_discard_transaction() signals that the referenced arm_start_trans‐
19 action() should be ignored and treated as if it never happened. Mea‐
20 surements associated with a transaction that is processing should be
21 discarded. Either arm_discard_transaction() or arm_stop_transaction()
22 is used - never both.
23
24 An example of when a transaction would be discarded could happen is if
25 proxy instrumentation believes a transaction is starting, but then
26 learns that it did not. It can be called from any thread in the process
27 that executed the arm_start_transaction(). In general, the use of
28 arm_discard_transaction() is discouraged, but experience has shown a
29 few use cases that require the functionality.
30
31 arm_discard_transaction() clears any thread bindings
32 [arm_bind_thread()] and blocking conditions [arm_block_transaction()].
33
34 tran_handle is a handle returned from an arm_start_transaction() call
35 in the same process.
36
37 No sub-buffer types are currently valid with this function call, so the
38 buffer4 pointer should be null (ARM_BUF4_NONE).
39
40 No values are currently defined for flags. The field should be zero
41 (ARM_FLAG_NONE).
42
43
45 On success, the function returns ARM_SUCCESS. A non-zero value indi‐
46 cates an error.
47
49 If the return code is negative, an error occurred. If the return code
50 is not negative, an error may or may not have occurred - the determina‐
51 tion of what is an error and whether an error code is returned is at
52 the discretion of the ARM implementation. The application can test the
53 return code if it wants to provide its own error logging.
54
55 The following errors are recognized by this implementation, but may not
56 be portable to other implementations:
57
58
59 ARM_FAILURE_INTERNAL_ERROR
60 An internal error has occurred that prevented the operation from
61 completing. Check your system log for more details.
62
64 ARM Issue 4.0 C Language Bindings, Version 2
65
67 None.
68
70 arm_bind_thread(3), arm_block_transaction(3), arm_start_transaction(3),
71 arm_stop_transaction(3)
72
73
74
75arm4.org August 2008 arm_discard_transaction(3)