summaryrefslogtreecommitdiffstats
path: root/lib/libpthread
diff options
context:
space:
mode:
authordeischen <deischen@FreeBSD.org>2001-02-26 01:06:52 +0000
committerdeischen <deischen@FreeBSD.org>2001-02-26 01:06:52 +0000
commita7a408f67ff21a3e24c002cf0007bde818da83fc (patch)
tree4f12b43b14912d3cd619a7af3af6f98edda57a6e /lib/libpthread
parentead1438fd81ad5b1da39bee772afeab9f9811e19 (diff)
downloadFreeBSD-src-a7a408f67ff21a3e24c002cf0007bde818da83fc.zip
FreeBSD-src-a7a408f67ff21a3e24c002cf0007bde818da83fc.tar.gz
Really set the flags for a private mutex (used by libc/libc_r).
Diffstat (limited to 'lib/libpthread')
-rw-r--r--lib/libpthread/thread/thr_mutex.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/libpthread/thread/thr_mutex.c b/lib/libpthread/thread/thr_mutex.c
index 1c72b7b..27377f3 100644
--- a/lib/libpthread/thread/thr_mutex.c
+++ b/lib/libpthread/thread/thr_mutex.c
@@ -125,6 +125,7 @@ _pthread_mutex_init(pthread_mutex_t * mutex,
enum pthread_mutextype type;
int protocol;
int ceiling;
+ int flags;
pthread_mutex_t pmutex;
int ret = 0;
@@ -137,6 +138,7 @@ _pthread_mutex_init(pthread_mutex_t * mutex,
type = PTHREAD_MUTEX_ERRORCHECK;
protocol = PTHREAD_PRIO_NONE;
ceiling = PTHREAD_MAX_PRIORITY;
+ flags = 0;
}
/* Check mutex type: */
@@ -156,6 +158,7 @@ _pthread_mutex_init(pthread_mutex_t * mutex,
type = (*mutex_attr)->m_type;
protocol = (*mutex_attr)->m_protocol;
ceiling = (*mutex_attr)->m_ceiling;
+ flags = (*mutex_attr)->m_flags;
}
/* Check no errors so far: */
@@ -164,8 +167,8 @@ _pthread_mutex_init(pthread_mutex_t * mutex,
malloc(sizeof(struct pthread_mutex))) == NULL)
ret = ENOMEM;
else {
- /* Reset the mutex flags: */
- pmutex->m_flags = 0;
+ /* Set the mutex flags: */
+ pmutex->m_flags = flags;
/* Process according to mutex type: */
switch (type) {
OpenPOWER on IntegriCloud