summaryrefslogtreecommitdiff
path: root/src/win32/pthread.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/win32/pthread.h')
-rw-r--r--src/win32/pthread.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/win32/pthread.h b/src/win32/pthread.h
index 50d836247..e84de471f 100644
--- a/src/win32/pthread.h
+++ b/src/win32/pthread.h
@@ -24,10 +24,17 @@ typedef int pthread_rwlockattr_t;
typedef CRITICAL_SECTION pthread_mutex_t;
typedef HANDLE pthread_t;
typedef HANDLE pthread_cond_t;
-typedef SRWLOCK pthread_rwlock_t;
+
+/* typedef struct { void *Ptr; } SRWLOCK; */
+
+typedef struct {
+ union {
+ SRWLOCK srwl;
+ CRITICAL_SECTION csec;
+ } native;
+} pthread_rwlock_t;
#define PTHREAD_MUTEX_INITIALIZER {(void*)-1}
-#define PTHREAD_RWLOCK_INITIALIZER SRWLOCK_INIT
int pthread_create(
pthread_t *GIT_RESTRICT thread,
@@ -61,4 +68,7 @@ int pthread_rwlock_wrlock(pthread_rwlock_t *);
int pthread_rwlock_wrunlock(pthread_rwlock_t *);
int pthread_rwlock_destroy(pthread_rwlock_t *);
+extern int win32_pthread_initialize(void);
+extern int win32_pthread_shutdown(void);
+
#endif