aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 0000000..3e0438b
--- /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 0000000..1a26001
--- /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;
+}