Lines Matching refs:rwstate
2258 uint32_t rwstate = 0; in lwp_rwlock_release() local
2270 rwstate |= URW_WRITE_LOCKED; in lwp_rwlock_release()
2279 rwstate |= URW_HAS_WAITERS; in lwp_rwlock_release()
2286 rwstate++; in lwp_rwlock_release()
2296 rwstate |= URW_HAS_WAITERS; in lwp_rwlock_release()
2306 suword32_noerr(&rw->rwlock_readers, rwstate); in lwp_rwlock_release()
2356 uint32_t rwstate; in lwp_rwlock_lock() local
2478 fuword32_noerr(&rw->rwlock_readers, &rwstate); in lwp_rwlock_lock()
2484 rwstate |= URW_HAS_WAITERS; in lwp_rwlock_lock()
2489 if (!(rwstate & URW_WRITE_LOCKED)) { in lwp_rwlock_lock()
2502 rwstate++; in lwp_rwlock_lock()
2504 } else if ((rwstate & URW_READERS_MASK) == 0) { in lwp_rwlock_lock()
2505 rwstate |= URW_WRITE_LOCKED; in lwp_rwlock_lock()
2527 rwstate++; in lwp_rwlock_lock()
2537 suword32_noerr(&rw->rwlock_readers, rwstate); in lwp_rwlock_lock()
2572 suword32_noerr(&rw->rwlock_readers, rwstate); in lwp_rwlock_lock()
2719 uint32_t rwstate; in lwp_rwlock_unlock() local
2771 fuword32_noerr(&rw->rwlock_readers, &rwstate); in lwp_rwlock_unlock()
2772 if (rwstate & URW_WRITE_LOCKED) in lwp_rwlock_unlock()
2774 else if ((rwstate & URW_READERS_MASK) > 0) { in lwp_rwlock_unlock()
2775 rwstate--; in lwp_rwlock_unlock()
2776 if ((rwstate & URW_READERS_MASK) == 0) in lwp_rwlock_unlock()
2779 suword32_noerr(&rw->rwlock_readers, rwstate); in lwp_rwlock_unlock()