about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-03-08 02:33:37 -0500
committerRich Felker <dalias@aerifal.cx>2011-03-08 02:33:37 -0500
commit1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19 (patch)
treefef673ab79d274a50ea2f5e89653f30418ef2cdd
parent9d5251f72b627974bcf438501e07ad42c24d94be (diff)
downloadmusl-1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19.tar.gz
musl-1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19.tar.xz
musl-1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19.zip
implement pthread_mutexattr_[gs]etpshared functions
-rw-r--r--src/thread/pthread_mutexattr_getpshared.c7
-rw-r--r--src/thread/pthread_mutexattr_setpshared.c9
2 files changed, 16 insertions, 0 deletions
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;
+}