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