if ((own && !(own & 0x40000000)) || a_cas(&m->_m_lock, old, tid)!=old)
return EBUSY;
- m->_m_count = 1;
-
if (m->_m_type < 4) return 0;
if (m->_m_type >= 8) {
self->robust_list.head = &m->_m_next;
self->robust_list.pending = 0;
if (own) {
+ m->_m_count = 0;
m->_m_type += 8;
return EOWNERDEAD;
}