Is there any interest in adding a generalized version of worker's fdqueue to apr-util (this is a FIFO not a stack btw) ???

this is different to the resource list posted by aaron, as it just
manages a work queue.


the api:

apr_status_t apr_queue_init(apr_queue_t **queue,
                            int queue_capacity,
                            apr_pool_t *a);

apr_status_t apr_queue_push(apr_queue_t *queue, void *data);
apr_status_t apr_queue_pop(apr_queue_t *queue, void **data);

/* non-blocking versions of above */
apr_status_t apr_queue_trypush(apr_queue_t *queue, void *data);
apr_status_t apr_queue_trypop(apr_queue_t *queue, void **data);

int apr_queue_size(apr_queue_t *queue);

apr_status_t apr_queue_interrupt_all(apr_queue_t *queue);
apr_status_t apr_queue_term(apr_queue_t *queue);

possible improvements will be the ability to push/pop multiple items
off the queue at the same time.




Reply via email to