recovering ownerdead robust mutex must reset recursive lock count
authorRich Felker <dalias@aerifal.cx>
Mon, 3 Oct 2011 04:27:47 +0000 (00:27 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 3 Oct 2011 04:27:47 +0000 (00:27 -0400)
src/thread/pthread_mutex_trylock.c

index fb2779706e75a9fa7e9e6769021174a30e7f31b5..db784a73a8b9bbc5d1ea400d8f440e7421765127 100644 (file)
@@ -43,6 +43,7 @@ int pthread_mutex_trylock(pthread_mutex_t *m)
        self->robust_list.head = &m->_m_next;
        self->robust_list.pending = 0;
        if (own) {
+               m->_m_count = 0;
                m->_m_type += 8;
                return EOWNERDEAD;
        }