implement robust mutexes
[musl] / src / thread / pthread_mutex_consistent.c
diff --git a/src/thread/pthread_mutex_consistent.c b/src/thread/pthread_mutex_consistent.c
new file mode 100644 (file)
index 0000000..7dfb904
--- /dev/null
@@ -0,0 +1,10 @@
+#include "pthread_impl.h"
+
+int pthread_mutex_consistent(pthread_mutex_t *m)
+{
+       if (m->_m_type < 8) return EINVAL;
+       if ((m->_m_lock & 0x3fffffff) != pthread_self()->tid)
+               return EPERM;
+       m->_m_type -= 8;
+       return 0;
+}