diff options
Diffstat (limited to 'include/queue.h')
-rw-r--r-- | include/queue.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/queue.h b/include/queue.h index ca11614..5f2d5f4 100644 --- a/include/queue.h +++ b/include/queue.h @@ -1,10 +1,20 @@ #include <pthread.h> #include <sys/queue.h> +#include <semaphore.h> #include "jobs.h" +#ifndef QUEUE_H + +typedef enum { + Q_ITS_OVER = 0, + Q_SEM_WAIT = 1, +} queue_state_t; + struct queue { struct job_clist jobs; + sem_t sem; + queue_state_t state; pthread_mutex_t mutex; }; @@ -17,3 +27,7 @@ struct queue_thread { int queue_thread_new(struct queue_thread **queue_thread, FILE *stream); void queue_thread_free(struct queue_thread *queue_thread); void *queue_thread_entry(void *queue_thread); +int queue_pop(struct queue *queue, struct job **job); + +#define QUEUE_H +#endif |