mirror of
https://github.com/fluencelabs/musl
synced 2025-06-29 06:32:16 +00:00
14 lines
296 B
C
14 lines
296 B
C
#include "pthread_impl.h"
|
|
|
|
int pthread_mutex_lock(pthread_mutex_t *m)
|
|
{
|
|
int r;
|
|
while ((r=pthread_mutex_trylock(m)) == EBUSY) {
|
|
if (m->_m_type == PTHREAD_MUTEX_ERRORCHECK
|
|
&& m->_m_owner == pthread_self()->tid)
|
|
return EDEADLK;
|
|
__wait(&m->_m_lock, &m->_m_waiters, 1, 0);
|
|
}
|
|
return r;
|
|
}
|