|
Simple tools for multi threading / objects in plain C Snapshot
|
Go to the source code of this file.
Classes | |
| struct | tagTQUEUE_Entry |
Typedefs | |
| typedef struct tagTQUEUE_Entry | TQUEUE_Entry |
Functions | |
| int | TQUEUE_init (TQUEUE *queue, size_t max_count) |
| create new queue | |
| int | TQUEUE_free (TQUEUE *queue) |
| destroy queue | |
| static int | push_entry (DLIST *lst, void *data) |
| int | TQUEUE_push_exit_message (TQUEUE *queue) |
| push out of order exit message (null message at top of 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_pop_non_blocking (TQUEUE *queue, void **rret) |
| pop queue, return error if empty. Does not block if queue is empty. | |
| void * | TQUEUE_pop (TQUEUE *queue) |
| pop queue, block if empty | |
| typedef struct tagTQUEUE_Entry TQUEUE_Entry |
| static int push_entry | ( | DLIST * | lst, |
| void * | data | ||
| ) | [static] |
Definition at line 35 of file tqueue.c.
{
TQUEUE_Entry *entry = (TQUEUE_Entry *) malloc( sizeof(TQUEUE_Entry) );
if (!entry) {
return -1;
}
entry->entry = data;
DLIST_push_front( lst, (DLIST_entry *) entry );
return 0;
}
1.7.4