From 746c7f2af6afe0e99173dbee034d6b0847c6a19e Mon Sep 17 00:00:00 2001 From: Marty Kraimer Date: Tue, 27 Jun 2000 17:53:17 +0000 Subject: [PATCH] add _POSIX_THREAD_PROCESS_SHARED --- src/libCom/osi/os/posix/osdSem.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libCom/osi/os/posix/osdSem.c b/src/libCom/osi/os/posix/osdSem.c index 83e786557..9cf4a2c3b 100644 --- a/src/libCom/osi/os/posix/osdSem.c +++ b/src/libCom/osi/os/posix/osdSem.c @@ -33,6 +33,9 @@ typedef struct mutex { pthread_mutexattr_t mutexAttr; pthread_mutex_t lock; pthread_cond_t waitToBeOwner; +#ifdef _POSIX_THREAD_PROCESS_SHARED + pthread_condattr_t condAttr; +#endif int count; int owned; /* TRUE | FALSE */ pthread_t ownerTid; @@ -180,7 +183,16 @@ semMutexId semMutexCreate(void) { #endif status = pthread_mutex_init(&pmutex->lock,&pmutex->mutexAttr); checkStatusQuit(status,"pthread_mutex_init","semMutexCreate"); +#ifdef _POSIX_THREAD_PROCESS_SHARED + status = pthread_condattr_init(&pmutex->condAttr); + checkStatus(status,"pthread_condattr_init"); + status = pthread_condattr_setpshared(&pmutex->condAttr, + _POSIX_THREAD_PROCESS_SHARED); + checkStatus(status,"pthread_condattr_setpshared"); + status = pthread_cond_init(&pmutex->waitToBeOwner,&pmutex->condAttr); +#else status = pthread_cond_init(&pmutex->waitToBeOwner,0); +#endif checkStatusQuit(status,"pthread_cond_init","semMutexCreate"); return((semMutexId)pmutex); }