Lines Matching refs:reader
270 // The remaining bits are the count of reader locks.
272 // To take a reader lock, block on gate1 while the write-entered flag is
273 // set or the maximum number of reader locks is held, then increment the
274 // reader lock count.
277 // otherwise if the maximum number of reader locks was held signal gate1
278 // to wake a reader.
282 // gate2 while the number of reader locks is non-zero.
286 // This means that when no reader locks are held readers and writers get
287 // equal priority. When one or more reader locks is held a writer gets
288 // priority and no more reader locks can be taken while the writer is
293 // Used to block while write-entered is set or reader count at maximum.
295 // Used to block queued writers while reader count is non-zero.
297 // The write-entered flag and reader count.
307 // The number of reader locks currently held. _M_mut must be locked.
398 // Wake any thread that was blocked on reader overflow.