X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fpthread_mutex_trylock.c;h=50a815a5fbf4dc22322347fa2ab4aaaeb98348b2;hb=b2486a8922bf4977bd82c8190258e39de28c053b;hp=f48aaadec3c761e83b42ad4052417972d8b5c30d;hpb=047e434ef5fd5437a74f98f63c40a77a683f7f3f;p=musl diff --git a/src/thread/pthread_mutex_trylock.c b/src/thread/pthread_mutex_trylock.c index f48aaade..50a815a5 100644 --- a/src/thread/pthread_mutex_trylock.c +++ b/src/thread/pthread_mutex_trylock.c @@ -7,15 +7,15 @@ int pthread_mutex_trylock(pthread_mutex_t *m) 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; }