aboutsummaryrefslogtreecommitdiff
path: root/lib/libkse/thread
diff options
context:
space:
mode:
authorDaniel Eischen <deischen@FreeBSD.org>2001-02-26 01:06:52 +0000
committerDaniel Eischen <deischen@FreeBSD.org>2001-02-26 01:06:52 +0000
commitc33f8c177f57dd6a96a269f2aeec608516bc16e0 (patch)
treea7bca1a1cc88760be73f92ec18cd88ebfc2b6ccb /lib/libkse/thread
parentc6f2aed1029befe1f0e3d8a355ef7fa7500a39b3 (diff)
downloadsrc-c33f8c177f57dd6a96a269f2aeec608516bc16e0.tar.gz
src-c33f8c177f57dd6a96a269f2aeec608516bc16e0.zip
Really set the flags for a private mutex (used by libc/libc_r).
Notes
Notes: svn path=/head/; revision=73057
Diffstat (limited to 'lib/libkse/thread')
-rw-r--r--lib/libkse/thread/thr_mutex.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/libkse/thread/thr_mutex.c b/lib/libkse/thread/thr_mutex.c
index 1c72b7b4b1c4..27377f3bf408 100644
--- a/lib/libkse/thread/thr_mutex.c
+++ b/lib/libkse/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) {