diff --git a/include/compat/pthread.h b/include/compat/pthread.h index 861c8e1..8b8c3c6 100644 --- a/include/compat/pthread.h +++ b/include/compat/pthread.h @@ -3,6 +3,9 @@ * pthread.h compatibility shim */ +#ifndef LIBCRYPTOCOMPAT_PTHREAD_H +#define LIBCRYPTOCOMPAT_PTHREAD_H + #ifdef _WIN32 #include @@ -52,6 +55,32 @@ pthread_equal(pthread_t t1, pthread_t t2) return t1 == t2; } +typedef CRITICAL_SECTION pthread_mutex_t; +typedef void pthread_mutexattr_t; + +static inline int +pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr) +{ + InitializeCriticalSection(mutex); + return 0; +} + +static inline int +pthread_mutex_lock(pthread_mutex_t *mutex) +{ + EnterCriticalSection(mutex); + return 0; +} + +static inline int +pthread_mutex_unlock(pthread_mutex_t *mutex) +{ + LeaveCriticalSection(mutex); + return 0; +} + #else #include_next #endif + +#endif