diff options
Diffstat (limited to '')
-rw-r--r-- | src/threading.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/threading.h b/src/threading.h index 608f916..38a021f 100644 --- a/src/threading.h +++ b/src/threading.h | |||
@@ -7,8 +7,6 @@ | |||
7 | */ | 7 | */ |
8 | #include "platform.h" | 8 | #include "platform.h" |
9 | 9 | ||
10 | typedef unsigned int uint_t; | ||
11 | |||
12 | #include <time.h> | 10 | #include <time.h> |
13 | 11 | ||
14 | /* Note: ERROR is a defined entity on Win32 | 12 | /* Note: ERROR is a defined entity on Win32 |
@@ -60,14 +58,14 @@ enum e_status { PENDING, RUNNING, WAITING, DONE, ERROR_ST, CANCELLED }; | |||
60 | 58 | ||
61 | #if _WIN32_WINNT < 0x0600 // CONDITION_VARIABLE aren't available, use a signal | 59 | #if _WIN32_WINNT < 0x0600 // CONDITION_VARIABLE aren't available, use a signal |
62 | 60 | ||
63 | typedef struct | 61 | struct SIGNAL_T |
64 | { | 62 | { |
65 | CRITICAL_SECTION signalCS; | 63 | CRITICAL_SECTION signalCS; |
66 | CRITICAL_SECTION countCS; | 64 | CRITICAL_SECTION countCS; |
67 | HANDLE waitEvent; | 65 | HANDLE waitEvent; |
68 | HANDLE waitDoneEvent; | 66 | HANDLE waitDoneEvent; |
69 | LONG waitersCount; | 67 | LONG waitersCount; |
70 | } SIGNAL_T; | 68 | }; |
71 | 69 | ||
72 | 70 | ||
73 | #define MUTEX_T HANDLE | 71 | #define MUTEX_T HANDLE |
@@ -89,7 +87,7 @@ enum e_status { PENDING, RUNNING, WAITING, DONE, ERROR_ST, CANCELLED }; | |||
89 | 87 | ||
90 | #define MUTEX_RECURSIVE_INIT(ref) MUTEX_INIT(ref) /* always recursive in Win32 */ | 88 | #define MUTEX_RECURSIVE_INIT(ref) MUTEX_INIT(ref) /* always recursive in Win32 */ |
91 | 89 | ||
92 | typedef unsigned int THREAD_RETURN_T; | 90 | using THREAD_RETURN_T = unsigned int; |
93 | 91 | ||
94 | #define YIELD() Sleep(0) | 92 | #define YIELD() Sleep(0) |
95 | #define THREAD_CALLCONV __stdcall | 93 | #define THREAD_CALLCONV __stdcall |
@@ -124,9 +122,9 @@ enum e_status { PENDING, RUNNING, WAITING, DONE, ERROR_ST, CANCELLED }; | |||
124 | #define MUTEX_LOCK(ref) pthread_mutex_lock(ref) | 122 | #define MUTEX_LOCK(ref) pthread_mutex_lock(ref) |
125 | #define MUTEX_UNLOCK(ref) pthread_mutex_unlock(ref) | 123 | #define MUTEX_UNLOCK(ref) pthread_mutex_unlock(ref) |
126 | 124 | ||
127 | typedef void * THREAD_RETURN_T; | 125 | using THREAD_RETURN_T = void *; |
128 | 126 | ||
129 | typedef pthread_cond_t SIGNAL_T; | 127 | using SIGNAL_T = pthread_cond_t; |
130 | 128 | ||
131 | void SIGNAL_ONE( SIGNAL_T *ref ); | 129 | void SIGNAL_ONE( SIGNAL_T *ref ); |
132 | 130 | ||
@@ -154,7 +152,7 @@ void SIGNAL_ALL( SIGNAL_T *ref ); | |||
154 | * 0.0 for instant check | 152 | * 0.0 for instant check |
155 | * >0.0 absolute timeout in secs + ms | 153 | * >0.0 absolute timeout in secs + ms |
156 | */ | 154 | */ |
157 | typedef double time_d; | 155 | using time_d = double; |
158 | time_d now_secs(void); | 156 | time_d now_secs(void); |
159 | 157 | ||
160 | time_d SIGNAL_TIMEOUT_PREPARE( double rel_secs ); | 158 | time_d SIGNAL_TIMEOUT_PREPARE( double rel_secs ); |
@@ -169,7 +167,7 @@ bool SIGNAL_WAIT( SIGNAL_T *ref, MUTEX_T *mu, time_d timeout ); | |||
169 | 167 | ||
170 | #if THREADAPI == THREADAPI_WINDOWS | 168 | #if THREADAPI == THREADAPI_WINDOWS |
171 | 169 | ||
172 | typedef HANDLE THREAD_T; | 170 | using THREAD_T = HANDLE; |
173 | # define THREAD_ISNULL( _h) (_h == 0) | 171 | # define THREAD_ISNULL( _h) (_h == 0) |
174 | void THREAD_CREATE( THREAD_T* ref, THREAD_RETURN_T (__stdcall *func)( void*), void* data, int prio /* -3..+3 */); | 172 | void THREAD_CREATE( THREAD_T* ref, THREAD_RETURN_T (__stdcall *func)( void*), void* data, int prio /* -3..+3 */); |
175 | 173 | ||
@@ -197,7 +195,7 @@ bool SIGNAL_WAIT( SIGNAL_T *ref, MUTEX_T *mu, time_d timeout ); | |||
197 | # endif | 195 | # endif |
198 | # endif | 196 | # endif |
199 | 197 | ||
200 | typedef pthread_t THREAD_T; | 198 | using THREAD_T = pthread_t; |
201 | # define THREAD_ISNULL( _h) 0 // pthread_t may be a structure: never 'null' by itself | 199 | # define THREAD_ISNULL( _h) 0 // pthread_t may be a structure: never 'null' by itself |
202 | 200 | ||
203 | void THREAD_CREATE( THREAD_T* ref, THREAD_RETURN_T (*func)( void*), void* data, int prio /* -3..+3 */); | 201 | void THREAD_CREATE( THREAD_T* ref, THREAD_RETURN_T (*func)( void*), void* data, int prio /* -3..+3 */); |