]> git.proxmox.com Git - wasi-libc.git/blob - libc-top-half/musl/src/thread/mtx_lock.c
WASI libc prototype implementation.
[wasi-libc.git] / libc-top-half / musl / src / thread / mtx_lock.c
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 }