blob: e2ed1cac8dae9a30a7a2a8fca9ba901c19517038 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include "pthread_impl.h"
#include <threads.h>
int mtx_lock(mtx_t *m)
{
if (m->_m_type == PTHREAD_MUTEX_NORMAL && !a_cas(&m->_m_lock, 0, EBUSY))
return thrd_success;
/* Calling mtx_timedlock with a null pointer is an extension.
* It is convenient, here to avoid duplication of the logic
* for return values. */
return mtx_timedlock(m, 0);
}
#ifdef TEST
int
main(void) {
return 0;
}
#endif
|