#include <stdio.h>#include <string.h>#include <pthread.h>#include <stdlib.h>#include <errno.h>#include <sys/time.h>#include <unistd.h>#include "fastqueue.h"
Go to the source code of this file.
Defines | |
| #define | _GNU_SOURCE |
| #define | qerr(errnr) fprintf(stderr,"queue.c: %s\n",queue_errmsg[errnr]) |
| #define | pthread_mutexattr_settype pthread_mutexattr_settype_np |
| #define | PTHREAD_MUTEX_NORMAL PTHREAD_MUTEX_NORMAL_NP |
| #define | PTHREAD_MUTEX_ERRORCHECK PTHREAD_MUTEX_ERRORCHECK_NP |
Enumerations | |
| enum | { QERR_NONE, QERR_NOMEM, QERR_MUTEXINIT, QERR_MUTEXLOCK, QERR_MUTEXUNLOCK, QERR_MUTEXDESTROY, QERR_QEMPTY, QERR_QINVALID, QERR_QNOTEMPTY, QERR_CONDINIT, QERR_CONDWAIT, QERR_CONDSIGNAL, QERR_CONDDESTROY } |
Functions | |
| queue_t * | create_queue (const char *name) |
| int | enqueue_element_signal (queue_t *queuehead, void *element) |
| int | enqueue_element_expedited_signal (queue_t *queuehead, void *element, int exp) |
| void * | dequeue_element_wait (queue_t *queuehead) |
| void * | dequeue_element_timedwait (queue_t *queuehead, const struct timespec *tspec) |
| int | destroy_queue (queue_t *queuehead) |
| void * | dequeue_element_nonblocking (queue_t *queuehead) |
| unsigned long | queue_nr_of_elements (queue_t *queuehead) |
| int | queue_is_expedited_enabled (queue_t *queuehead) |
| int | queue_enable_expedited (queue_t *queuehead, int exp) |
Variables | |
| const char *const | queue_errmsg [] |
----------------------------------------*- mode: C++; -*--
a simple FIFO queue with mutexes for use with pthreads ----------------------------------------------------------
Fast and thread-safe queue.
Definition in file fastqueue.c.
1.6.1