#ifndef LJACKLM_WIN_MUTEX #define LJACKLM_WIN_MUTEX typedef CRITICAL_SECTION pthread_mutex_t; static inline int pthread_mutex_init(pthread_mutex_t *mutex, void *attr) { InitializeCriticalSection(mutex); return 0; } static inline void pthread_mutex_lock(pthread_mutex_t *mutex) { EnterCriticalSection(mutex); } static inline int pthread_mutex_unlock(pthread_mutex_t *mutex) { LeaveCriticalSection(mutex); return 0; } static inline int pthread_mutex_trylock(pthread_mutex_t *mutex) { return TryEnterCriticalSection(mutex) == 0; } static inline void pthread_mutex_destroy(pthread_mutex_t *mutex) { DeleteCriticalSection(mutex); } #endif // LJACKLM_WIN_MUTEX