Lines Matching refs:cq
103 static CQ_ITEM *cqi_new(CQ *cq);
104 static void cq_push(CQ *cq, CQ_ITEM *item);
273 static void cq_init(CQ *cq) { in cq_init() argument
274 pthread_mutex_init(&cq->lock, NULL); in cq_init()
275 STAILQ_INIT(&cq->head); in cq_init()
276 cq->cache = cache_create("cq", sizeof(CQ_ITEM), sizeof(char *)); in cq_init()
277 if (cq->cache == NULL) { in cq_init()
288 static CQ_ITEM *cq_pop(CQ *cq) { in cq_pop() argument
291 pthread_mutex_lock(&cq->lock); in cq_pop()
292 item = STAILQ_FIRST(&cq->head); in cq_pop()
294 STAILQ_REMOVE_HEAD(&cq->head, i_next); in cq_pop()
296 pthread_mutex_unlock(&cq->lock); in cq_pop()
304 static void cq_push(CQ *cq, CQ_ITEM *item) { in cq_push() argument
305 pthread_mutex_lock(&cq->lock); in cq_push()
306 STAILQ_INSERT_TAIL(&cq->head, item, i_next); in cq_push()
307 pthread_mutex_unlock(&cq->lock); in cq_push()
313 static CQ_ITEM *cqi_new(CQ *cq) { in cqi_new() argument
314 CQ_ITEM *item = cache_alloc(cq->cache); in cqi_new()
326 static void cqi_free(CQ *cq, CQ_ITEM *item) { in cqi_free() argument
327 cache_free(cq->cache, item); in cqi_free()