Lines Matching refs:queue
43 static inline int32_t cam_queue_init(cam_queue_t *queue)
45 pthread_mutex_init(&queue->lock, NULL);
46 cam_list_init(&queue->head.list);
47 queue->size = 0;
51 static inline int32_t cam_queue_enq(cam_queue_t *queue, void *data)
62 pthread_mutex_lock(&queue->lock);
63 cam_list_add_tail_node(&node->list, &queue->head.list);
64 queue->size++;
65 pthread_mutex_unlock(&queue->lock);
70 static inline void *cam_queue_deq(cam_queue_t *queue)
77 pthread_mutex_lock(&queue->lock);
78 head = &queue->head.list;
83 queue->size--;
85 pthread_mutex_unlock(&queue->lock);
95 static inline int32_t cam_queue_flush(cam_queue_t *queue)
101 pthread_mutex_lock(&queue->lock);
102 head = &queue->head.list;
109 queue->size--;
120 queue->size = 0;
121 pthread_mutex_unlock(&queue->lock);
125 static inline int32_t cam_queue_deinit(cam_queue_t *queue)
127 cam_queue_flush(queue);
128 pthread_mutex_destroy(&queue->lock);