diff --git a/src/thread/pthread_mutex_lock.c b/src/thread/pthread_mutex_lock.c index 87b19752ee0e4d2845a9e430ae2b60447c4533a4..99c15bd8f6f649c79f61c807341d049b878a3396 100644 --- a/src/thread/pthread_mutex_lock.c +++ b/src/thread/pthread_mutex_lock.c @@ -4,7 +4,7 @@ int pthread_mutex_lock(pthread_mutex_t *m) { int r; - if (m->_m_type == PTHREAD_MUTEX_NORMAL && !a_swap(&m->_m_lock, 1)) + if (m->_m_type == PTHREAD_MUTEX_NORMAL && !a_swap(&m->_m_lock, EBUSY)) return 0; while ((r=pthread_mutex_trylock(m)) == EBUSY) { diff --git a/src/thread/pthread_mutex_trylock.c b/src/thread/pthread_mutex_trylock.c index 50a815a5fbf4dc22322347fa2ab4aaaeb98348b2..ea1fa80527698d9a20cad0c616f0971d50bdbb1c 100644 --- a/src/thread/pthread_mutex_trylock.c +++ b/src/thread/pthread_mutex_trylock.c @@ -7,7 +7,7 @@ int pthread_mutex_trylock(pthread_mutex_t *m) pthread_t self; if (m->_m_type == PTHREAD_MUTEX_NORMAL) - return -a_swap(&m->_m_lock, 1) & EBUSY; + return a_swap(&m->_m_lock, EBUSY); self = pthread_self(); tid = self->tid | 0x80000000;