diff options
| author | Russell Belfer <rb@github.com> | 2013-08-22 14:10:56 -0700 |
|---|---|---|
| committer | Russell Belfer <rb@github.com> | 2013-08-22 14:10:56 -0700 |
| commit | 972bb689c4a69ba5a5dfaeebacc7198622c4f051 (patch) | |
| tree | 563f1ac8a33f5d44f32be76ea5d7fc862cec8457 /src/win32/pthread.h | |
| parent | 2b6e1908476c95c84d3e3a62ac069f789156b070 (diff) | |
| download | libgit2-972bb689c4a69ba5a5dfaeebacc7198622c4f051.tar.gz | |
Add SRWLock implementation of rwlocks for Win32
Diffstat (limited to 'src/win32/pthread.h')
| -rw-r--r-- | src/win32/pthread.h | 14 |
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 |
