avoid function call to pthread_self in mutex unlock
[musl] / src / thread / pthread_mutex_unlock.c
index 61a2b94..3733788 100644 (file)
@@ -3,7 +3,7 @@
 int pthread_mutex_unlock(pthread_mutex_t *m)
 {
        if (m->_m_type != PTHREAD_MUTEX_NORMAL) {
-               if (m->_m_lock != pthread_self()->tid)
+               if (!m->_m_lock || m->_m_lock != __pthread_self()->tid)
                        return EPERM;
                if (m->_m_type == PTHREAD_MUTEX_RECURSIVE && --m->_m_count)
                        return 0;