42 i = pthread_mutex_init(&
queue->mutex, NULL);
47 if (!(
queue->first)) {
54 newelem = malloc(
sizeof(
qelem_t));
57 while(
queue->first!=NULL) {
58 current =
queue->first->q_forw;
60 queue->first = current;
64 memset(newelem, 0,
sizeof(
qelem_t));
80 current =
queue->first;
82 if (current != NULL) {
85 queue->first = current;
92 pthread_mutex_destroy(&
queue->mutex);
104 if (
queue->last->data != NULL) {
107 pthread_mutex_lock(&
queue->mutex);
108 queue->last->data = data;
111 pthread_mutex_unlock(&
queue->mutex);
124 if (
queue->first->data == NULL) {
127 pthread_mutex_lock(&
queue->mutex);
128 data =
queue->first->data;
129 queue->first->data = NULL;
132 pthread_mutex_unlock(&
queue->mutex);
145 pthread_mutex_lock(&
queue->mutex);
146 qelem =
queue->nelem;
147 pthread_mutex_unlock(&
queue->mutex);
int queue(queue_t *queue, void *data)
void queue_deinit(queue_t *queue)
int queue_init(queue_t *queue)
void * dequeue(queue_t *queue)
int getquenelem(queue_t *queue)
#define MAX_QUEUE_ELEMENTS