2 * Copyright (C) 1994-2003, Index Data.
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
6 * $Id: requestq.c,v 1.1 2003-10-27 12:21:35 adam Exp $
11 * Simple queue management.
13 * We also use the request-freelist to store encoding buffers, rather than
14 * freeing and xmalloc'ing them on each cycle.
19 #include <yaz/xmalloc.h>
22 void request_enq(request_q *q, request *r)
32 request *request_head(request_q *q)
37 request *request_deq(request_q *q)
43 q->head = q->head->next;
50 void request_initq(request_q *q)
52 q->head = q->tail = q->list = 0;
56 void request_delq(request_q *q)
58 request *r1, *r = q->list;
68 request *request_get(request_q *q)
76 if (!(r = (request *)xmalloc(sizeof(*r))))
89 r->state = REQUEST_IDLE;
94 void request_release(request *r)