implement pthread_mutexattr_[gs]etpshared functions
authorRich Felker <dalias@aerifal.cx>
Tue, 8 Mar 2011 07:33:37 +0000 (02:33 -0500)
committerRich Felker <dalias@aerifal.cx>
Tue, 8 Mar 2011 07:33:37 +0000 (02:33 -0500)
src/thread/pthread_mutexattr_getpshared.c [new file with mode: 0644]
src/thread/pthread_mutexattr_setpshared.c [new file with mode: 0644]

diff --git a/src/thread/pthread_mutexattr_getpshared.c b/src/thread/pthread_mutexattr_getpshared.c
new file mode 100644 (file)
index 0000000..3e0438b
--- /dev/null
@@ -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 (file)
index 0000000..1a26001
--- /dev/null
@@ -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;
+}