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