1
10
13
14
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
99
100
101
106
107
108
113
114
115
120
121
122
127
128
129
130
131
132
133
134
135
136
137
138
139
140
146
152
158
164
170
171
172
173
174
175
...
...
...
#define TX_SOURCE_CODE
#include "tx_api.h"
#include "tx_block_pool.h"
#ifdef TX_BLOCK_POOL_ENABLE_PERFORMANCE_INFO
#include "tx_trace.h"
#endif
...
...
UINT _tx_block_pool_performance_system_info_get(ULONG *allocates, ULONG *releases, ULONG *suspensions, ULONG *timeouts)
{
#ifdef TX_BLOCK_POOL_ENABLE_PERFORMANCE_INFO
TX_INTERRUPT_SAVE_AREA
TX_DISABLE
TX_TRACE_IN_LINE_INSERT(TX_TRACE_BLOCK_POOL__PERFORMANCE_SYSTEM_INFO_GET, 0, 0, 0, 0, TX_TRACE_BLOCK_POOL_EVENTS)
TX_EL_BLOCK_POOL_PERFORMANCE_SYSTEM_INFO_GET_INSERT
/* ... */
if (allocates != TX_NULL)
{
*allocates = _tx_block_pool_performance_allocate_count;
}if (allocates != TX_NULL) { ... }
if (releases != TX_NULL)
{
*releases = _tx_block_pool_performance_release_count;
}if (releases != TX_NULL) { ... }
if (suspensions != TX_NULL)
{
*suspensions = _tx_block_pool_performance_suspension_count;
}if (suspensions != TX_NULL) { ... }
if (timeouts != TX_NULL)
{
*timeouts = _tx_block_pool_performance_timeout_count;
}if (timeouts != TX_NULL) { ... }
TX_RESTORE
return(TX_SUCCESS);
/* ... */
#else
UINT status;
if (allocates != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}if (allocates != TX_NULL) { ... }
else if (releases != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}else if (releases != TX_NULL) { ... }
else if (suspensions != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}else if (suspensions != TX_NULL) { ... }
else if (timeouts != TX_NULL)
{
status = TX_FEATURE_NOT_ENABLED;
}else if (timeouts != TX_NULL) { ... }
else
{
status = TX_FEATURE_NOT_ENABLED;
}else { ... }
return(status);/* ... */
#endif
}{ ... }