#include <pthread_sleep_queue.hpp>
Public Member Functions | |
sleep_queue_t (size_t) | |
void | enqueue (void *) |
void * | dequeue () |
void | resize (size_t) |
void | wait_until_empty () |
Public Attributes | |
flx_mutex_t | member_lock |
The queue can be locked by setting bound=0. In this state it can only be unlocked by setting a non-zero bound.
If the bound is set to 1 (the default), then the queue is always either empty or full. An empty queue blocks readers until a writer sends some data. A full queue blocks writers, until a reader reads the data. Note that when the queue is empty a writer can write data and continues without waiting for the data to be read.