make pthread_exit responsible for disabling cancellation
[musl] / src / thread / pthread_mutex_consistent.c
index 65da29f..96b83b5 100644 (file)
@@ -2,9 +2,9 @@
 
 int pthread_mutex_consistent(pthread_mutex_t *m)
 {
-       if (m->_m_type < 8) return EINVAL;
-       if ((m->_m_lock & 0x3fffffff) != __pthread_self()->tid)
+       if (!(m->_m_type & 8)) return EINVAL;
+       if ((m->_m_lock & 0x7fffffff) != __pthread_self()->tid)
                return EPERM;
-       m->_m_type -= 8;
+       m->_m_type &= ~8U;
        return 0;
 }