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, 13 insertions, 1 deletions
diff --git a/src/win32/pthread.h b/src/win32/pthread.h
index 8277ecf6e..54e5286a6 100644
--- a/src/win32/pthread.h
+++ b/src/win32/pthread.h
@@ -19,11 +19,15 @@
typedef int pthread_mutexattr_t;
typedef int pthread_condattr_t;
typedef int pthread_attr_t;
+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;
-#define PTHREAD_MUTEX_INITIALIZER {(void*)-1};
+#define PTHREAD_MUTEX_INITIALIZER {(void*)-1}
+#define PTHREAD_RWLOCK_INITIALIZER SRWLOCK_INIT
int pthread_create(
pthread_t *GIT_RESTRICT,
@@ -47,4 +51,12 @@ int pthread_cond_signal(pthread_cond_t *);
int pthread_num_processors_np(void);
+int pthread_rwlock_init(
+ pthread_rwlock_t *GIT_RESTRICT, const pthread_rwlockattr_t *GIT_RESTRICT);
+int pthread_rwlock_rdlock(pthread_rwlock_t *);
+int pthread_rwlock_rdunlock(pthread_rwlock_t *);
+int pthread_rwlock_wrlock(pthread_rwlock_t *);
+int pthread_rwlock_wrunlock(pthread_rwlock_t *);
+int pthread_rwlock_destroy(pthread_rwlock_t *);
+
#endif