13 lines
351 B
C
13 lines
351 B
C
#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);
|
|
}
|