blob: cc6bff39d856d5b479eafee465287662c4c39823 [file] [log] [blame]
#include "threads_impl.h"
int pthread_mutex_lock(pthread_mutex_t* m) {
int type = pthread_mutex_get_type(m);
if (type == PTHREAD_MUTEX_NORMAL &&
!a_cas_shim(&m->_m_lock, 0, pthread_mutex_tid_to_uncontested_state(__thread_get_tid())))
return 0;
return pthread_mutex_timedlock(m, 0);
}