Lines Matching refs:rwstate
2243 uint32_t rwstate = 0; in lwp_rwlock_release() local
2255 rwstate |= URW_WRITE_LOCKED; in lwp_rwlock_release()
2264 rwstate |= URW_HAS_WAITERS; in lwp_rwlock_release()
2271 rwstate++; in lwp_rwlock_release()
2281 rwstate |= URW_HAS_WAITERS; in lwp_rwlock_release()
2291 suword32_noerr(&rw->rwlock_readers, rwstate); in lwp_rwlock_release()
2341 uint32_t rwstate; in lwp_rwlock_lock() local
2463 fuword32_noerr(&rw->rwlock_readers, &rwstate); in lwp_rwlock_lock()
2469 rwstate |= URW_HAS_WAITERS; in lwp_rwlock_lock()
2474 if (!(rwstate & URW_WRITE_LOCKED)) { in lwp_rwlock_lock()
2487 rwstate++; in lwp_rwlock_lock()
2489 } else if ((rwstate & URW_READERS_MASK) == 0) { in lwp_rwlock_lock()
2490 rwstate |= URW_WRITE_LOCKED; in lwp_rwlock_lock()
2512 rwstate++; in lwp_rwlock_lock()
2522 suword32_noerr(&rw->rwlock_readers, rwstate); in lwp_rwlock_lock()
2557 suword32_noerr(&rw->rwlock_readers, rwstate); in lwp_rwlock_lock()
2704 uint32_t rwstate; in lwp_rwlock_unlock() local
2756 fuword32_noerr(&rw->rwlock_readers, &rwstate); in lwp_rwlock_unlock()
2757 if (rwstate & URW_WRITE_LOCKED) in lwp_rwlock_unlock()
2759 else if ((rwstate & URW_READERS_MASK) > 0) { in lwp_rwlock_unlock()
2760 rwstate--; in lwp_rwlock_unlock()
2761 if ((rwstate & URW_READERS_MASK) == 0) in lwp_rwlock_unlock()
2764 suword32_noerr(&rw->rwlock_readers, rwstate); in lwp_rwlock_unlock()