From 16f4ce383717857032c2033ef755da389716150a Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 6 Jul 2000 21:57:50 +0000 Subject: [PATCH] Implement pthread_condattr_getpshared and pthread_condattr_setpshared. --- linuxthreads/condvar.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/linuxthreads/condvar.c b/linuxthreads/condvar.c index 5e1dd71..a6a31ca 100644 --- a/linuxthreads/condvar.c +++ b/linuxthreads/condvar.c @@ -62,7 +62,7 @@ int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) int already_canceled = 0; /* Check whether the mutex is locked and owned by this thread. */ - if (mutex->__m_kind != PTHREAD_MUTEX_TIMED_NP + if (mutex->__m_kind != PTHREAD_MUTEX_TIMED_NP && mutex->__m_kind != PTHREAD_MUTEX_ADAPTIVE_NP && mutex->__m_owner != self) return EINVAL; @@ -123,7 +123,7 @@ pthread_cond_timedwait_relative(pthread_cond_t *cond, pthread_extricate_if extr; /* Check whether the mutex is locked and owned by this thread. */ - if (mutex->__m_kind != PTHREAD_MUTEX_TIMED_NP + if (mutex->__m_kind != PTHREAD_MUTEX_TIMED_NP && mutex->__m_kind != PTHREAD_MUTEX_ADAPTIVE_NP && mutex->__m_owner != self) return EINVAL; @@ -228,3 +228,21 @@ int pthread_condattr_destroy(pthread_condattr_t *attr) { return 0; } + +int pthread_condattr_getpshared (const pthread_condattr_t *attr, int *pshared) +{ + *pshared = PTHREAD_PROCESS_PRIVATE; + return 0; +} + +int pthread_condattr_setpshared (pthread_condattr_t *attr, int pshared) +{ + if (pshared != PTHREAD_PROCESS_PRIVATE && pshared != PTHREAD_PROCESS_SHARED) + return EINVAL; + + /* For now it is not possible to shared a conditional variable. */ + if (pshared != PTHREAD_PROCESS_PRIVATE) + return ENOSYS; + + return 0; +} -- 2.7.4