浏览代码

implement pthread_mutexattr_[gs]etpshared functions

Rich Felker 14 年之前
父节点
当前提交
1d6b1f1592
共有 2 个文件被更改,包括 16 次插入0 次删除
  1. 7 0
      src/thread/pthread_mutexattr_getpshared.c
  2. 9 0
      src/thread/pthread_mutexattr_setpshared.c

+ 7 - 0
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;
+}

+ 9 - 0
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;
+}