1
10
13
14
20
21
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
61
62
63
64
66
67
68
72
73
74
75
76
77
78
79
80
81
82
83
84
87
88
89
90
91
92
93
94
95
96
97
98
99
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
...
...
...
...
...
#ifndef TX_MUTEX_H
#define TX_MUTEX_H
#define TX_MUTEX_ID ((ULONG) 0x4D555445)
/* ... */
#ifdef TX_INVOKE_INLINE_INITIALIZATION
/* ... */
#ifndef TX_MUTEX_ENABLE_PERFORMANCE_INFO
#define _tx_mutex_initialize() \
_tx_mutex_created_ptr = TX_NULL; \
_tx_mutex_created_count = TX_EMPTY...
/* ... */#else
#define _tx_mutex_initialize() \
_tx_mutex_created_ptr = TX_NULL; \
_tx_mutex_created_count = TX_EMPTY; \
_tx_mutex_performance_put_count = ((ULONG) 0); \
_tx_mutex_performance_get_count = ((ULONG) 0); \
_tx_mutex_performance_suspension_count = ((ULONG) 0); \
_tx_mutex_performance_timeout_count = ((ULONG) 0); \
_tx_mutex_performance_priority_inversion_count = ((ULONG) 0); \
_tx_mutex_performance__priority_inheritance_count = ((ULONG) 0)...
/* ... */#endif
#define TX_MUTEX_INIT
/* ... */#else
VOID _tx_mutex_initialize(VOID);/* ... */
#endif
VOID _tx_mutex_cleanup(TX_THREAD *thread_ptr, ULONG suspension_sequence);
VOID _tx_mutex_thread_release(TX_THREAD *thread_ptr);
VOID _tx_mutex_priority_change(TX_THREAD *thread_ptr, UINT new_priority);
/* ... */
#ifdef TX_MUTEX_INIT
#define MUTEX_DECLARE
#else
#define MUTEX_DECLARE extern
#endif
MUTEX_DECLARE TX_MUTEX * _tx_mutex_created_ptr;
MUTEX_DECLARE ULONG _tx_mutex_created_count;
#ifdef TX_MUTEX_ENABLE_PERFORMANCE_INFO
MUTEX_DECLARE ULONG _tx_mutex_performance_put_count;
MUTEX_DECLARE ULONG _tx_mutex_performance_get_count;
MUTEX_DECLARE ULONG _tx_mutex_performance_suspension_count;
MUTEX_DECLARE ULONG _tx_mutex_performance_timeout_count;
MUTEX_DECLARE ULONG _tx_mutex_performance_priority_inversion_count;
MUTEX_DECLARE ULONG _tx_mutex_performance__priority_inheritance_count;
/* ... */
#endif
#ifndef TX_MUTEX_DELETE_PORT_COMPLETION
#define TX_MUTEX_DELETE_PORT_COMPLETION(m)
#endif
/* ... */
...#endif