Simple tools for multi threading / objects in plain C Snapshot
Classes | Typedefs | Functions
tqueue.h File Reference
#include <cutils/dlist.h>
#include <pthread.h>

Go to the source code of this file.

Classes

struct  tagTQUEUE

Typedefs

typedef struct tagTQUEUE TQUEUE

Functions

int TQUEUE_init (TQUEUE *queue, size_t max_count)
 create new queue
int TQUEUE_free (TQUEUE *queue)
 destroy queue
int TQUEUE_push_block_on_queue_full (TQUEUE *queue, void *entry)
 add new entry to queue, block if maximum queue limit has been reached
int TQUEUE_push_fail_on_queue_full (TQUEUE *queue, void *entry)
 add new entry to queue, fail if maximum queue limit has been reached
int TQUEUE_push_exit_message (TQUEUE *queue)
 push out of order exit message (null message at top of queue)
void * TQUEUE_pop (TQUEUE *queue)
 pop queue, block if empty
int TQUEUE_pop_non_blocking (TQUEUE *queue, void **rret)
 pop queue, return error if empty. Does not block if queue is empty.