view src/Queue.h @ 14:5f65da34f4f3

add runnable pthread mode.
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Sat, 09 Jan 2010 18:13:49 +0900
parents 07fab8c367b2
children d31f9a0f9024
line wrap: on
line source

#ifndef _QUEUE_H
#define _QUEUE_H
#include "List.h"
#include <pthread.h>

typedef struct _Queue {
	struct _List *head;
	struct _List *tail;
	unsigned int length;
	pthread_mutex_t mutex;
	pthread_cond_t cond;
} Queue;

Queue * createQueue(int blocking);
void destroyQueue(Queue *queue);
void queueOffer(Queue *queue, void *data);
void * queuePoll(Queue *queue);
void queuePut(Queue *queue, void *data);
void * queueTake(Queue *queue);
void * queuePeek(Queue *queue);

#endif /* !_QUEUE_H */