parrotcode: Thread-safe queues | |
Contents | C |
src/tsq.c - Thread-safe queues
QUEUE_ENTRY *pop_entry(QUEUE *queue)
QUEUE_ENTRY *peek_entry(QUEUE *queue)
pop_entry()
will check again and return NULL
if the queue is empty.QUEUE_ENTRY *nosync_pop_entry(QUEUE *queue)
QUEUE_ENTRY *wait_for_entry(QUEUE *queue)
void push_entry(QUEUE *queue, QUEUE_ENTRY *entry)
entry
onto the tail of the queue.void unshift_entry(QUEUE *queue, QUEUE_ENTRY *entry)
entry
into the head of the queue.void nosync_insert_entry(QUEUE *queue, QUEUE_ENTRY *entry)
abstime
.
The caller has to hold the queue mutex.void insert_entry(QUEUE *queue, QUEUE_ENTRY *entry)
entry
.void queue_lock(QUEUE *queue)
void queue_unlock(QUEUE *queue)
void queue_broadcast(QUEUE *queue)
void queue_signal(QUEUE *queue)
void queue_wait(QUEUE *queue)
void queue_timedwait(QUEUE *queue, struct timespec *abs_time)
abs_time
seconds (?).QUEUE *queue_init(UINTVAL prio)
prio
as the queue's priority.void queue_destroy(QUEUE *queue)
include/parrot/tsq.h.
|