1*c9945492SAndroid Build Coastguard Worker #include "pthread_impl.h" 2*c9945492SAndroid Build Coastguard Worker #include <threads.h> 3*c9945492SAndroid Build Coastguard Worker mtx_lock(mtx_t * m)4*c9945492SAndroid Build Coastguard Workerint mtx_lock(mtx_t *m) 5*c9945492SAndroid Build Coastguard Worker { 6*c9945492SAndroid Build Coastguard Worker if (m->_m_type == PTHREAD_MUTEX_NORMAL && !a_cas(&m->_m_lock, 0, EBUSY)) 7*c9945492SAndroid Build Coastguard Worker return thrd_success; 8*c9945492SAndroid Build Coastguard Worker /* Calling mtx_timedlock with a null pointer is an extension. 9*c9945492SAndroid Build Coastguard Worker * It is convenient, here to avoid duplication of the logic 10*c9945492SAndroid Build Coastguard Worker * for return values. */ 11*c9945492SAndroid Build Coastguard Worker return mtx_timedlock(m, 0); 12*c9945492SAndroid Build Coastguard Worker } 13