yaes/deps/labjack/ljacklm/libljacklm/windows_mutex_shim.h

29 lines
690 B
C
Raw Normal View History

#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