From 1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 8 Mar 2011 02:33:37 -0500 Subject: [PATCH] implement pthread_mutexattr_[gs]etpshared functions --- src/thread/pthread_mutexattr_getpshared.c | 7 +++++++ src/thread/pthread_mutexattr_setpshared.c | 9 +++++++++ 2 files changed, 16 insertions(+) create mode 100644 src/thread/pthread_mutexattr_getpshared.c create mode 100644 src/thread/pthread_mutexattr_setpshared.c diff --git a/src/thread/pthread_mutexattr_getpshared.c b/src/thread/pthread_mutexattr_getpshared.c new file mode 100644 index 00000000..3e0438b3 --- /dev/null +++ b/src/thread/pthread_mutexattr_getpshared.c @@ -0,0 +1,7 @@ +#include "pthread_impl.h" + +int pthread_mutexattr_getpshared(const pthread_mutexattr_t *a, int *pshared) +{ + *pshared = *a>>31; + return 0; +} diff --git a/src/thread/pthread_mutexattr_setpshared.c b/src/thread/pthread_mutexattr_setpshared.c new file mode 100644 index 00000000..1a26001a --- /dev/null +++ b/src/thread/pthread_mutexattr_setpshared.c @@ -0,0 +1,9 @@ +#include "pthread_impl.h" + +int pthread_mutexattr_setpshared(pthread_mutexattr_t *a, int pshared) +{ + if (pshared > 1U) return EINVAL; + *a &= 0x7fffffff; + *a |= pshared<<31; + return 0; +}