diff options
| author | steve donovan <steve.j.donovan@gmail.com> | 2011-03-16 20:12:54 +0200 |
|---|---|---|
| committer | steve donovan <steve.j.donovan@gmail.com> | 2011-03-16 20:12:54 +0200 |
| commit | c2a80b9a31e97f62efc80c66b046c7b04cafc6f3 (patch) | |
| tree | 4b7925d2b5dc6d3be89e581acf520454a1df85d0 /src | |
| parent | 5499ec1a61be9797c57834618a49731952b1d212 (diff) | |
| download | lanes-c2a80b9a31e97f62efc80c66b046c7b04cafc6f3.tar.gz lanes-c2a80b9a31e97f62efc80c66b046c7b04cafc6f3.tar.bz2 lanes-c2a80b9a31e97f62efc80c66b046c7b04cafc6f3.zip | |
MinGW build now does not use MS runtime
Diffstat (limited to 'src')
| -rw-r--r-- | src/threading.h | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/threading.h b/src/threading.h index 4a83229..2bf48e5 100644 --- a/src/threading.h +++ b/src/threading.h | |||
| @@ -32,13 +32,6 @@ typedef int bool_t; | |||
| 32 | 32 | ||
| 33 | typedef unsigned int uint_t; | 33 | typedef unsigned int uint_t; |
| 34 | 34 | ||
| 35 | #if defined(PLATFORM_WIN32) && defined(__GNUC__) | ||
| 36 | /* MinGW with MSVCR80.DLL */ | ||
| 37 | /* Do this BEFORE including time.h so that it is declaring _mktime32() | ||
| 38 | * as it would have declared mktime(). | ||
| 39 | */ | ||
| 40 | # define mktime _mktime32 | ||
| 41 | #endif | ||
| 42 | #include <time.h> | 35 | #include <time.h> |
| 43 | 36 | ||
| 44 | /* Note: ERROR is a defined entity on Win32 | 37 | /* Note: ERROR is a defined entity on Win32 |
| @@ -71,7 +64,7 @@ enum e_status { PENDING, RUNNING, WAITING, DONE, ERROR_ST, CANCELLED }; | |||
| 71 | typedef unsigned THREAD_RETURN_T; | 64 | typedef unsigned THREAD_RETURN_T; |
| 72 | 65 | ||
| 73 | #define SIGNAL_T HANDLE | 66 | #define SIGNAL_T HANDLE |
| 74 | 67 | ||
| 75 | #define YIELD() Sleep(0) | 68 | #define YIELD() Sleep(0) |
| 76 | #else | 69 | #else |
| 77 | // PThread (Linux, OS X, ...) | 70 | // PThread (Linux, OS X, ...) |
| @@ -101,7 +94,7 @@ enum e_status { PENDING, RUNNING, WAITING, DONE, ERROR_ST, CANCELLED }; | |||
| 101 | typedef pthread_cond_t SIGNAL_T; | 94 | typedef pthread_cond_t SIGNAL_T; |
| 102 | 95 | ||
| 103 | void SIGNAL_ONE( SIGNAL_T *ref ); | 96 | void SIGNAL_ONE( SIGNAL_T *ref ); |
| 104 | 97 | ||
| 105 | // Yield is non-portable: | 98 | // Yield is non-portable: |
| 106 | // | 99 | // |
| 107 | // OS X 10.4.8/9 has pthread_yield_np() | 100 | // OS X 10.4.8/9 has pthread_yield_np() |
| @@ -143,7 +136,7 @@ bool_t SIGNAL_WAIT( SIGNAL_T *ref, MUTEX_T *mu, time_d timeout ); | |||
| 143 | void THREAD_CREATE( THREAD_T *ref, | 136 | void THREAD_CREATE( THREAD_T *ref, |
| 144 | THREAD_RETURN_T (__stdcall *func)( void * ), | 137 | THREAD_RETURN_T (__stdcall *func)( void * ), |
| 145 | void *data, int prio /* -3..+3 */ ); | 138 | void *data, int prio /* -3..+3 */ ); |
| 146 | 139 | ||
| 147 | # define THREAD_PRIO_MIN (-3) | 140 | # define THREAD_PRIO_MIN (-3) |
| 148 | # define THREAD_PRIO_MAX (+3) | 141 | # define THREAD_PRIO_MAX (+3) |
| 149 | 142 | ||
| @@ -162,10 +155,10 @@ bool_t SIGNAL_WAIT( SIGNAL_T *ref, MUTEX_T *mu, time_d timeout ); | |||
| 162 | 155 | ||
| 163 | typedef pthread_t THREAD_T; | 156 | typedef pthread_t THREAD_T; |
| 164 | 157 | ||
| 165 | void THREAD_CREATE( THREAD_T *ref, | 158 | void THREAD_CREATE( THREAD_T *ref, |
| 166 | THREAD_RETURN_T (*func)( void * ), | 159 | THREAD_RETURN_T (*func)( void * ), |
| 167 | void *data, int prio /* -2..+2 */ ); | 160 | void *data, int prio /* -2..+2 */ ); |
| 168 | 161 | ||
| 169 | # if defined(PLATFORM_LINUX) | 162 | # if defined(PLATFORM_LINUX) |
| 170 | volatile bool_t sudo; | 163 | volatile bool_t sudo; |
| 171 | # ifdef LINUX_SCHED_RR | 164 | # ifdef LINUX_SCHED_RR |
| @@ -180,7 +173,7 @@ bool_t SIGNAL_WAIT( SIGNAL_T *ref, MUTEX_T *mu, time_d timeout ); | |||
| 180 | # endif | 173 | # endif |
| 181 | #endif | 174 | #endif |
| 182 | 175 | ||
| 183 | /* | 176 | /* |
| 184 | * Win32 and PTHREAD_TIMEDJOIN allow waiting for a thread with a timeout. | 177 | * Win32 and PTHREAD_TIMEDJOIN allow waiting for a thread with a timeout. |
| 185 | * Posix without PTHREAD_TIMEDJOIN needs to use a condition variable approach. | 178 | * Posix without PTHREAD_TIMEDJOIN needs to use a condition variable approach. |
| 186 | */ | 179 | */ |
