Lines Matching refs:queue
49 // A waiting queue to keep track of the pending readers and writers.
63 // RAII guard to lock and unlock the waiting queue.
65 WaitingQueue &queue;
68 LIBC_INLINE Guard(WaitingQueue &queue, bool is_pshared)
69 : queue(queue), is_pshared(is_pshared) {
70 queue.lock(cpp::nullopt, is_pshared);
74 LIBC_INLINE ~Guard() { queue.unlock(is_pshared); }
77 return queue.pending_readers;
79 return queue.pending_writers;
83 return queue.reader_serialization.val;
85 return queue.writer_serialization.val;
332 // Waiting queue to keep track of the readers and writers.
333 WaitingQueue queue;
376 writer_tid(0), queue() {}
420 // The queue need to be protected by a mutex since the operations in
425 WaitingQueue::Guard guard = queue.acquire(is_pshared);
442 timeout_flag = (queue.wait<role>(serial_number, timeout, is_pshared) ==
449 WaitingQueue::Guard guard = queue.acquire(is_pshared);
498 WaitingQueue::Guard guard = queue.acquire(is_pshared);
510 queue.notify<Role::Reader>(is_pshared);
512 queue.notify<Role::Writer>(is_pshared);