source/ariba/utility/transport/tcpip/protlib/fastqueue.c File Reference

#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"

Include dependency graph for fastqueue.c:

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_tcreate_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 []


Detailed Description

----------------------------------------*- mode: C++; -*--

a simple FIFO queue with mutexes for use with pthreads ----------------------------------------------------------

Id
fastqueue.c 2549 2007-04-02 22:17:37Z bless
HeadURL
https://svn.ipv6.tm.uka.de/nsis/protlib/trunk/fastqueue/fastqueue.c

Fast and thread-safe queue.

Definition in file fastqueue.c.


Generated on Fri Aug 14 23:37:54 2009 for Ariba by  doxygen 1.5.8