summaryrefslogtreecommitdiff
path: root/src/thread
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 /src/thread
parent9d5251f72b627974bcf438501e07ad42c24d94be (diff)
downloadmusl-1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19.tar.gz
musl-1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19.tar.bz2
musl-1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19.tar.xz
musl-1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19.zip
implement pthread_mutexattr_[gs]etpshared functions
Diffstat (limited to 'src/thread')
-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;
+}