diff options
author | deischen <deischen@FreeBSD.org> | 2001-02-26 01:06:52 +0000 |
---|---|---|
committer | deischen <deischen@FreeBSD.org> | 2001-02-26 01:06:52 +0000 |
commit | a7a408f67ff21a3e24c002cf0007bde818da83fc (patch) | |
tree | 4f12b43b14912d3cd619a7af3af6f98edda57a6e /lib/libpthread | |
parent | ead1438fd81ad5b1da39bee772afeab9f9811e19 (diff) | |
download | FreeBSD-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.c | 7 |
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) { |