Jens Gustedt | 8b04729 | 2014-09-06 22:07:22 -0400 | [diff] [blame] | 1 | #include "pthread_impl.h" |
2 | #include <threads.h> | ||||
3 | |||||
4 | int mtx_lock(mtx_t *m) | ||||
5 | { | ||||
6 | if (m->_m_type == PTHREAD_MUTEX_NORMAL && !a_cas(&m->_m_lock, 0, EBUSY)) | ||||
7 | return thrd_success; | ||||
8 | /* Calling mtx_timedlock with a null pointer is an extension. | ||||
9 | * It is convenient, here to avoid duplication of the logic | ||||
10 | * for return values. */ | ||||
11 | return mtx_timedlock(m, 0); | ||||
12 | } |