Use critical section instead of mutex in Windows

pull/2872/head
Jukka Ojanen 3 years ago
parent bfe83ec138
commit 2fd0a81f93

@ -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)

@ -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

Loading…
Cancel
Save