queue              38 src/ftdm_queue.c static ftdm_status_t ftdm_std_queue_enqueue(ftdm_queue_t *queue, void *obj);
queue              39 src/ftdm_queue.c static void *ftdm_std_queue_dequeue(ftdm_queue_t *queue);
queue              40 src/ftdm_queue.c static ftdm_status_t ftdm_std_queue_wait(ftdm_queue_t *queue, int ms);
queue              41 src/ftdm_queue.c static ftdm_status_t ftdm_std_queue_get_interrupt(ftdm_queue_t *queue, ftdm_interrupt_t **interrupt);
queue              81 src/ftdm_queue.c 	ftdm_queue_t *queue = NULL;
queue              86 src/ftdm_queue.c 	queue = ftdm_calloc(1, sizeof(*queue));
queue              87 src/ftdm_queue.c 	if (!queue) {
queue              91 src/ftdm_queue.c 	queue->elements = ftdm_calloc(1, (sizeof(void*)*capacity));
queue              92 src/ftdm_queue.c 	if (!queue->elements) {
queue              95 src/ftdm_queue.c 	queue->capacity = capacity;
queue              97 src/ftdm_queue.c 	if (ftdm_mutex_create(&queue->mutex) != FTDM_SUCCESS) {
queue             101 src/ftdm_queue.c 	if (ftdm_interrupt_create(&queue->interrupt, FTDM_INVALID_SOCKET) != FTDM_SUCCESS) {
queue             105 src/ftdm_queue.c 	*outqueue = queue;	
queue             109 src/ftdm_queue.c 	if (queue) {
queue             110 src/ftdm_queue.c 		if (queue->interrupt) {
queue             111 src/ftdm_queue.c 			ftdm_interrupt_destroy(&queue->interrupt);
queue             113 src/ftdm_queue.c 		if (queue->mutex) {
queue             114 src/ftdm_queue.c 			ftdm_mutex_destroy(&queue->mutex);
queue             116 src/ftdm_queue.c 		ftdm_safe_free(queue->elements);
queue             117 src/ftdm_queue.c 		ftdm_safe_free(queue);
queue             122 src/ftdm_queue.c static ftdm_status_t ftdm_std_queue_enqueue(ftdm_queue_t *queue, void *obj)
queue             126 src/ftdm_queue.c 	ftdm_assert_return(queue != NULL, FTDM_FAIL, "Queue is null!");
queue             128 src/ftdm_queue.c 	ftdm_mutex_lock(queue->mutex);
queue             130 src/ftdm_queue.c 	if (queue->windex == queue->capacity) {
queue             132 src/ftdm_queue.c 		queue->windex = 0;
queue             135 src/ftdm_queue.c 	if (queue->size != 0 && queue->windex == queue->rindex) {
queue             136 src/ftdm_queue.c 		ftdm_log(FTDM_LOG_ERROR, "Failed to enqueue obj %p in queue %p, no more room! windex == rindex == %d!\n", obj, queue, queue->windex);
queue             140 src/ftdm_queue.c 	queue->elements[queue->windex++] = obj;
queue             141 src/ftdm_queue.c 	queue->size++;
queue             145 src/ftdm_queue.c 	ftdm_interrupt_signal(queue->interrupt);
queue             149 src/ftdm_queue.c 	ftdm_mutex_unlock(queue->mutex);
queue             154 src/ftdm_queue.c static void *ftdm_std_queue_dequeue(ftdm_queue_t *queue)
queue             158 src/ftdm_queue.c 	ftdm_assert_return(queue != NULL, NULL, "Queue is null!");
queue             160 src/ftdm_queue.c 	ftdm_mutex_lock(queue->mutex);
queue             162 src/ftdm_queue.c 	if (queue->size == 0) {
queue             166 src/ftdm_queue.c 	obj = queue->elements[queue->rindex];
queue             167 src/ftdm_queue.c 	queue->elements[queue->rindex++] = NULL;
queue             168 src/ftdm_queue.c 	queue->size--;
queue             169 src/ftdm_queue.c 	if (queue->rindex == queue->capacity) {
queue             170 src/ftdm_queue.c 		queue->rindex = 0;
queue             175 src/ftdm_queue.c 	ftdm_mutex_unlock(queue->mutex);
queue             180 src/ftdm_queue.c static ftdm_status_t ftdm_std_queue_wait(ftdm_queue_t *queue, int ms)
queue             183 src/ftdm_queue.c 	ftdm_assert_return(queue != NULL, FTDM_FAIL, "Queue is null!");
queue             185 src/ftdm_queue.c 	ftdm_mutex_lock(queue->mutex);
queue             188 src/ftdm_queue.c 	if (queue->size != 0) {
queue             189 src/ftdm_queue.c 		ftdm_mutex_unlock(queue->mutex);
queue             194 src/ftdm_queue.c 	ret = ftdm_interrupt_wait(queue->interrupt, ms);
queue             197 src/ftdm_queue.c 	ftdm_mutex_unlock(queue->mutex);
queue             202 src/ftdm_queue.c static ftdm_status_t ftdm_std_queue_get_interrupt(ftdm_queue_t *queue, ftdm_interrupt_t **interrupt)
queue             204 src/ftdm_queue.c 	ftdm_assert_return(queue != NULL, FTDM_FAIL, "Queue is null!\n");
queue             206 src/ftdm_queue.c 	*interrupt = queue->interrupt;
queue             212 src/ftdm_queue.c 	ftdm_queue_t *queue = NULL;
queue             216 src/ftdm_queue.c 	queue = *inqueue;
queue             217 src/ftdm_queue.c 	ftdm_interrupt_destroy(&queue->interrupt);
queue             218 src/ftdm_queue.c 	ftdm_mutex_destroy(&queue->mutex);
queue             219 src/ftdm_queue.c 	ftdm_safe_free(queue->elements);
queue             220 src/ftdm_queue.c 	ftdm_safe_free(queue);
queue             184 src/include/freetdm.h typedef ftdm_status_t (*ftdm_queue_create_func_t)(ftdm_queue_t **queue, ftdm_size_t capacity);
queue             185 src/include/freetdm.h typedef ftdm_status_t (*ftdm_queue_enqueue_func_t)(ftdm_queue_t *queue, void *obj);
queue             186 src/include/freetdm.h typedef void *(*ftdm_queue_dequeue_func_t)(ftdm_queue_t *queue);
queue             187 src/include/freetdm.h typedef ftdm_status_t (*ftdm_queue_wait_func_t)(ftdm_queue_t *queue, int ms);
queue             188 src/include/freetdm.h typedef ftdm_status_t (*ftdm_queue_get_interrupt_func_t)(ftdm_queue_t *queue, ftdm_interrupt_t **interrupt);
queue             189 src/include/freetdm.h typedef ftdm_status_t (*ftdm_queue_destroy_func_t)(ftdm_queue_t **queue);
queue             251 src/include/private/ftdm_core.h #define ftdm_queue_create(queue, capacity) g_ftdm_queue_handler.create(queue, capacity)
queue             254 src/include/private/ftdm_core.h #define ftdm_queue_enqueue(queue, obj) g_ftdm_queue_handler.enqueue(queue, obj)
queue             257 src/include/private/ftdm_core.h #define ftdm_queue_dequeue(queue) g_ftdm_queue_handler.dequeue(queue)
queue             260 src/include/private/ftdm_core.h #define ftdm_queue_wait(queue, ms) g_ftdm_queue_handler.wait(queue, ms)
queue             263 src/include/private/ftdm_core.h #define ftdm_queue_get_interrupt(queue, ms) g_ftdm_queue_handler.get_interrupt(queue, ms)
queue             266 src/include/private/ftdm_core.h #define ftdm_queue_destroy(queue) g_ftdm_queue_handler.destroy(queue)