blob: f860ec7163798ac34b5180f657cb9f4627285c86 (
plain) (
tree)
|
|
#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;
}
|