template <typename PoolAccess = GlobalOwqPoolAccess>
class LazyOwnedWaitQueueImpl
Defined at line 39 of file ../../zircon/kernel/include/kernel/lazy_owned_wait_queue.h
A wrapper class for OwnedWaitQueue that lazily borrows a queue from a pool
when necessary.
Public Methods
void ~LazyOwnedWaitQueueImpl<PoolAccess> ()
Defined at line 21 of file ../../zircon/kernel/kernel/lazy_owned_wait_queue.cc
OwnedWaitQueue * Get ()
Returns a pointer to an OwnedWaitQueue, borrowing from the pool if necessary.
Callers should only call this when they are preparing to use the returned queue to block.
Callers are responsible for coordinating amongst each other so that the last caller on each
LazyOwnedWaitQueue to *unblock* after calling this calls Detach() or ReleaseLocked() to
recycle the queue to the pool.
Thread-safe. Will not block but may acquire the pool spinlock.
Defined at line 26 of file ../../zircon/kernel/kernel/lazy_owned_wait_queue.cc
void LazyOwnedWaitQueueImpl<PoolAccess> ()
Defined at line 41 of file ../../zircon/kernel/include/kernel/lazy_owned_wait_queue.h
void LazyOwnedWaitQueueImpl<PoolAccess> (OwnedWaitQueuePool & pool)
Defined at line 43 of file ../../zircon/kernel/include/kernel/lazy_owned_wait_queue.h
void ReleaseLocked ()
Releases the underlying OwnedWaitQueue back to the pool if it exists.
Will not block.
Defined at line 46 of file ../../zircon/kernel/kernel/lazy_owned_wait_queue.cc
void LazyOwnedWaitQueueImpl<PoolAccess> (const LazyOwnedWaitQueueImpl<PoolAccess> & )
Defined at line 48 of file ../../zircon/kernel/include/kernel/lazy_owned_wait_queue.h
void LazyOwnedWaitQueueImpl<PoolAccess> (LazyOwnedWaitQueueImpl<PoolAccess> && )
Defined at line 48 of file ../../zircon/kernel/include/kernel/lazy_owned_wait_queue.h
LazyOwnedWaitQueueImpl<PoolAccess> & operator= (const LazyOwnedWaitQueueImpl<PoolAccess> & )
Defined at line 48 of file ../../zircon/kernel/include/kernel/lazy_owned_wait_queue.h
LazyOwnedWaitQueueImpl<PoolAccess> & operator= (LazyOwnedWaitQueueImpl<PoolAccess> && )
Defined at line 48 of file ../../zircon/kernel/include/kernel/lazy_owned_wait_queue.h
OwnedWaitQueue * Detach ()
Detaches the underlying queue and returns it. Caller takes ownership and is responsible
for calling OwnedWaitQueuePool::RecycleLocked() on the returned queue when done.
Will not block.
Defined at line 54 of file ../../zircon/kernel/kernel/lazy_owned_wait_queue.cc
OwnedWaitQueue * Peek ()
Returns the current pointer without allocating. Will neither block nor acquire the pool
spinlock. Thread-safe.
Defined at line 75 of file ../../zircon/kernel/include/kernel/lazy_owned_wait_queue.h