summaryrefslogtreecommitdiffstats
path: root/include/pthread.h
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2010-10-18 05:09:22 +0000
committerdavidxu <davidxu@FreeBSD.org>2010-10-18 05:09:22 +0000
commitc6d578b87099319f4889fc41a797c12394855e3c (patch)
tree5d87e55da61d90b4464bf03c36f9afc2bd9e16aa /include/pthread.h
parentd56bc2d35fc8b6034e0b83b288e1bd50b99722c8 (diff)
downloadFreeBSD-src-c6d578b87099319f4889fc41a797c12394855e3c.zip
FreeBSD-src-c6d578b87099319f4889fc41a797c12394855e3c.tar.gz
Add pthread_rwlockattr_setkind_np and pthread_rwlockattr_getkind_np, the
functions set or get pthread_rwlock type, current supported types are: PTHREAD_RWLOCK_PREFER_READER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_RWLOCK_PREFER_WRITER_NP, default is PTHREAD_RWLOCK_PREFER_WRITER_NONCECURSIVE_NP, this maintains binary compatible with old code.
Diffstat (limited to 'include/pthread.h')
-rw-r--r--include/pthread.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/include/pthread.h b/include/pthread.h
index 56f6ef4..9a8e2ae 100644
--- a/include/pthread.h
+++ b/include/pthread.h
@@ -135,6 +135,15 @@ enum pthread_mutextype {
#define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_ERRORCHECK
+enum pthread_rwlocktype_np
+{
+ PTHREAD_RWLOCK_PREFER_READER_NP,
+ PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
+ PTHREAD_RWLOCK_PREFER_WRITER_NP,
+ PTHREAD_RWLOCK_DEFAULT_NP =
+ PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
+};
+
struct _pthread_cleanup_info {
__uintptr_t pthread_cleanup_pad[8];
};
@@ -233,11 +242,14 @@ int pthread_rwlock_tryrdlock(pthread_rwlock_t *);
int pthread_rwlock_trywrlock(pthread_rwlock_t *);
int pthread_rwlock_unlock(pthread_rwlock_t *);
int pthread_rwlock_wrlock(pthread_rwlock_t *);
-int pthread_rwlockattr_init(pthread_rwlockattr_t *);
+int pthread_rwlockattr_destroy(pthread_rwlockattr_t *);
+int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *,
+ int *);
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *,
int *);
+int pthread_rwlockattr_init(pthread_rwlockattr_t *);
+int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *, int);
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int);
-int pthread_rwlockattr_destroy(pthread_rwlockattr_t *);
pthread_t pthread_self(void);
int pthread_setspecific(pthread_key_t, const void *);
OpenPOWER on IntegriCloud