#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 [] |
a simple FIFO queue with mutexes for use with pthreads ----------------------------------------------------------
Fast and thread-safe queue.
Definition in file fastqueue.c.