pthread_t self;
if (m->_m_type == PTHREAD_MUTEX_NORMAL)
- return (m->_m_lock || a_swap(&m->_m_lock, 1)) ? EBUSY : 0;
+ return -a_swap(&m->_m_lock, 1) & EBUSY;
self = pthread_self();
tid = self->tid | 0x80000000;
if (m->_m_type >= 4) {
if (!self->robust_list.off)
- syscall2(__NR_set_robust_list,
- (long)&self->robust_list, 3*sizeof(long));
+ syscall(SYS_set_robust_list,
+ &self->robust_list, 3*sizeof(long));
self->robust_list.off = (char*)&m->_m_lock-(char *)&m->_m_next;
self->robust_list.pending = &m->_m_next;
}