Lines Matching defs:rwlp
206 rw_init(krwlock_t *rwlp, char *name, int type, void *arg)
208 rwlock_init(&rwlp->rw_lock, USYNC_THREAD, NULL);
209 rwlp->rw_owner = NULL;
210 rwlp->initialized = B_TRUE;
214 rw_destroy(krwlock_t *rwlp)
216 rwlock_destroy(&rwlp->rw_lock);
217 rwlp->rw_owner = (void *)-1UL;
218 rwlp->initialized = B_FALSE;
222 rw_enter(krwlock_t *rwlp, krw_t rw)
224 ASSERT(!RW_LOCK_HELD(rwlp));
225 ASSERT(rwlp->initialized == B_TRUE);
226 ASSERT(rwlp->rw_owner != (void *)-1UL);
227 ASSERT(rwlp->rw_owner != curthread);
230 VERIFY(rw_wrlock(&rwlp->rw_lock) == 0);
232 VERIFY(rw_rdlock(&rwlp->rw_lock) == 0);
234 rwlp->rw_owner = curthread;
238 rw_exit(krwlock_t *rwlp)
240 ASSERT(rwlp->initialized == B_TRUE);
241 ASSERT(rwlp->rw_owner != (void *)-1UL);
243 rwlp->rw_owner = NULL;
244 VERIFY(rw_unlock(&rwlp->rw_lock) == 0);
248 rw_tryenter(krwlock_t *rwlp, krw_t rw)
252 ASSERT(rwlp->initialized == B_TRUE);
253 ASSERT(rwlp->rw_owner != (void *)-1UL);
256 rv = rw_trywrlock(&rwlp->rw_lock);
258 rv = rw_tryrdlock(&rwlp->rw_lock);
261 rwlp->rw_owner = curthread;
270 rw_tryupgrade(krwlock_t *rwlp)
272 ASSERT(rwlp->initialized == B_TRUE);
273 ASSERT(rwlp->rw_owner != (void *)-1UL);