commit
54ca677983d47529bab8752315ac1a2b49888870 inadvertently
introduced bitwise and where logical and was intended. since the
right-hand operand is always 0 or -1 whenever the left-hand operand is
nonzero, the behavior happened to be equivalent.
if (a_cas(&m->_m_lock, old, tid) != old) {
self->robust_list.pending = 0;
- if ((type&12)==12 & m->_m_waiters) return ENOTRECOVERABLE;
+ if ((type&12)==12 && m->_m_waiters) return ENOTRECOVERABLE;
return EBUSY;
}