diff --git a/include/thread.h b/include/thread.h index 61a7447d9..fcd7e1e6c 100644 --- a/include/thread.h +++ b/include/thread.h @@ -22,17 +22,17 @@ #define hc_thread_exit(t) ExitThread (t) #define hc_thread_detach(t) CloseHandle (t) -/* +#define hc_thread_mutex_init(m) InitializeCriticalSection (&m) #define hc_thread_mutex_lock(m) EnterCriticalSection (&m) #define hc_thread_mutex_unlock(m) LeaveCriticalSection (&m) -#define hc_thread_mutex_init(m) InitializeCriticalSection (&m) #define hc_thread_mutex_delete(m) DeleteCriticalSection (&m) -*/ +/* #define hc_thread_mutex_init(m) m = CreateMutex (NULL, FALSE, NULL) #define hc_thread_mutex_lock(m) WaitForSingleObject (m, INFINITE) #define hc_thread_mutex_unlock(m) ReleaseMutex (m) #define hc_thread_mutex_delete(m) CloseHandle (m) +*/ #define hc_thread_sem_init(s) s = CreateSemaphore (NULL, 0, INT_MAX, NULL) #define hc_thread_sem_post(s) ReleaseSemaphore (s, 1, NULL) diff --git a/include/types.h b/include/types.h index d5119d3a0..33877c11d 100644 --- a/include/types.h +++ b/include/types.h @@ -81,13 +81,13 @@ typedef struct timespec hc_timer_t; #endif #if defined (_WIN) -typedef HANDLE hc_thread_t; -typedef HANDLE hc_thread_mutex_t; -typedef HANDLE hc_thread_semaphore_t; +typedef HANDLE hc_thread_t; +typedef CRITICAL_SECTION hc_thread_mutex_t; +typedef HANDLE hc_thread_semaphore_t; #else -typedef pthread_t hc_thread_t; -typedef pthread_mutex_t hc_thread_mutex_t; -typedef sem_t hc_thread_semaphore_t; +typedef pthread_t hc_thread_t; +typedef pthread_mutex_t hc_thread_mutex_t; +typedef sem_t hc_thread_semaphore_t; #endif // enums