add pthread_mutex* windows compat for libtls
This commit is contained in:
parent
41f58606c0
commit
a67ba9f4ad
@ -3,6 +3,9 @@
|
|||||||
* pthread.h compatibility shim
|
* pthread.h compatibility shim
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef LIBCRYPTOCOMPAT_PTHREAD_H
|
||||||
|
#define LIBCRYPTOCOMPAT_PTHREAD_H
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
@ -52,6 +55,32 @@ pthread_equal(pthread_t t1, pthread_t t2)
|
|||||||
return t1 == 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
|
#else
|
||||||
#include_next <pthread.h>
|
#include_next <pthread.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user