xref: /aosp_15_r20/external/musl/src/thread/pthread_mutex_lock.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #include "pthread_impl.h"
2*c9945492SAndroid Build Coastguard Worker 
__pthread_mutex_lock(pthread_mutex_t * m)3*c9945492SAndroid Build Coastguard Worker int __pthread_mutex_lock(pthread_mutex_t *m)
4*c9945492SAndroid Build Coastguard Worker {
5*c9945492SAndroid Build Coastguard Worker 	if ((m->_m_type&15) == PTHREAD_MUTEX_NORMAL
6*c9945492SAndroid Build Coastguard Worker 	    && !a_cas(&m->_m_lock, 0, EBUSY))
7*c9945492SAndroid Build Coastguard Worker 		return 0;
8*c9945492SAndroid Build Coastguard Worker 
9*c9945492SAndroid Build Coastguard Worker 	return __pthread_mutex_timedlock(m, 0);
10*c9945492SAndroid Build Coastguard Worker }
11*c9945492SAndroid Build Coastguard Worker 
12*c9945492SAndroid Build Coastguard Worker weak_alias(__pthread_mutex_lock, pthread_mutex_lock);
13