Lines Matching defs:waiter
25 // |m|, a new waiter object is added to the waiter queue with
26 // the waiter queue locked. Iff a signalling thread signals
27 // the waiter before the waiter actually starts waiting, the
28 // wait operation will not begin at all and the waiter immediately
31 CndWaiter waiter;
36 waitq_front = waitq_back = &waiter;
39 waitq_back->next = &waiter;
40 waitq_back = &waiter;
44 // If we do not remove the queued up waiter before returning,
46 // waiter. Note also that we do this with |qmtx| locked. This
48 // waiter.
59 waiter.futex_word.wait(WS_Waiting, cpp::nullopt, true);
62 // queued up waiter would have been removed from the queue.
69 // |qmtx| and signal the waiter using a single FUTEX_WAKE_OP signal.
91 CndWaiter *waiter = waitq_front;
93 while (waiter != nullptr) {
95 // atomically update the waiter status to WS_Signalled before waking
96 // up the waiter. A dummy location is used for the other futex of
100 &waiter->futex_word.val,
102 waiter = waiter->next;