13 lines
266 B
C
13 lines
266 B
C
#include "pthread_impl.h"
|
|
|
|
int pthread_rwlock_tryrdlock(pthread_rwlock_t *rw)
|
|
{
|
|
a_inc(&rw->_rw_readers);
|
|
if (rw->_rw_wrlock) {
|
|
a_dec(&rw->_rw_readers);
|
|
if (rw->_rw_waiters && !rw->_rw_readers)
|
|
__wake(&rw->_rw_readers, 1, 0);
|
|
return EBUSY;
|
|
}
|
|
return 0;
|
|
}
|