struct WaitQueueLockOps
Defined at line 2122 of file ../../zircon/kernel/include/kernel/thread.h
Public Methods
ktl::optional<Thread::UnblockList> LockForWakeAllInQueue (WaitQueue & queue, zx_status_t wait_queue_error)
Attempt to lock one or all threads for waking.
When successful, removes the threads from the wait queue, moving them to a
temporary unblock list and setting their wake result in the process.
Callers may then perform any internal bookkeeping before dropping the queue
lock, and finally waking the threads using Scheduler::Unblock.
Returns std::nullopt in the case that a backoff condition is encountered.
Defined at line 715 of file ../../zircon/kernel/kernel/wait.cc
ktl::optional<Thread::UnblockList> LockForWakeAllInPlace (WaitQueue & queue)
Same as LockForWakeAllInQueue(), but does not dequeue the threads from the wait queue.
Defined at line 692 of file ../../zircon/kernel/kernel/wait.cc
ktl::optional<Thread::UnblockList> LockForWakeOneInPlace (WaitQueue & queue)
Same as LockForWakeAllInPlace(), but only locks the first thread.
Defined at line 731 of file ../../zircon/kernel/kernel/wait.cc