add pthread_mutex* windows compat for libtls

This commit is contained in:
Brent Cook 2019-04-11 07:28:49 -05:00
parent 41f58606c0
commit a67ba9f4ad

View File

@ -3,6 +3,9 @@
* pthread.h compatibility shim
*/
#ifndef LIBCRYPTOCOMPAT_PTHREAD_H
#define LIBCRYPTOCOMPAT_PTHREAD_H
#ifdef _WIN32
#include <windows.h>
@ -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 <pthread.h>
#endif
#endif