void rw_exit(krwlock_t *rwlp) { if (_rw_write_held(&rwlp->rw_lock)) { ASSERT(rwlp->rw_owner == _curthread()); rwlp->rw_owner = _KTHREAD_INVALID; } (void) rw_unlock(&rwlp->rw_lock); }
int topo_rw_write_held(pthread_rwlock_t *lock) { extern int _rw_write_held(struct _rwlock *); return (_rw_write_held((struct _rwlock *)lock)); }
int rw_write_held(krwlock_t *rwlp) { return (_rw_write_held(rwlp)); }