Lines Matching refs:WRITER
21 const WRITER: u32 = 1; constant
125 if value & (WRITER | UPGRADED) != 0 { in try_read()
160 return (self.lock.load(Ordering::Relaxed) & WRITER) / WRITER; in writer_count()
170 .compare_exchange(0, WRITER, Ordering::Acquire, Ordering::Relaxed) in try_write()
201 if self.lock.fetch_or(UPGRADED, Ordering::Acquire) & (WRITER | UPGRADED) == 0 { in try_upgradeable_read()
228 debug_assert!(self.lock.load(Ordering::Relaxed) & !WRITER > 0); in force_read_decrement()
237 debug_assert_eq!(self.lock.load(Ordering::Relaxed) & !(WRITER | UPGRADED), 0); in force_write_unlock()
238 self.lock.fetch_and(!(WRITER | UPGRADED), Ordering::Release); in force_write_unlock()
277 WRITER, in try_upgrade()
374 self.inner.lock.load(Ordering::Acquire) & (WRITER | UPGRADED), in downgrade_to_upgradeable()
375 WRITER in downgrade_to_upgradeable()
423 debug_assert!(self.lock.load(Ordering::Relaxed) & !(WRITER | UPGRADED) > 0); in drop()
431 self.inner.lock.load(Ordering::Relaxed) & (WRITER | UPGRADED), in drop()
441 debug_assert_eq!(self.inner.lock.load(Ordering::Relaxed) & WRITER, WRITER); in drop()
444 .fetch_and(!(WRITER | UPGRADED), Ordering::Release); in drop()