From 515d31c4e8bae872875d85680be0fefb8c3543f0 Mon Sep 17 00:00:00 2001 From: "xiang.zhou" Date: Fri, 7 Jun 2024 08:31:46 +0800 Subject: [PATCH] async queue:add api about length --- include/neuron/utils/async_queue.h | 2 ++ src/utils/async_queue.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/include/neuron/utils/async_queue.h b/include/neuron/utils/async_queue.h index 0af55bc8..9a4c02c3 100644 --- a/include/neuron/utils/async_queue.h +++ b/include/neuron/utils/async_queue.h @@ -87,4 +87,6 @@ void neu_async_queue_remove(neu_async_queue_t *q, neu_async_queue_filter filter, */ void neu_async_queue_clean(neu_async_queue_t *q); +int neu_async_queue_len(neu_async_queue_t *q); + #endif \ No newline at end of file diff --git a/src/utils/async_queue.c b/src/utils/async_queue.c index 52e226c8..859bc8e9 100644 --- a/src/utils/async_queue.c +++ b/src/utils/async_queue.c @@ -159,4 +159,16 @@ void neu_async_queue_clean(neu_async_queue_t *q) free(el); } pthread_mutex_unlock(&q->mtx); +} + +int neu_async_queue_len(neu_async_queue_t *q) +{ + int count = 0; + element *elt = NULL; + + pthread_mutex_lock(&q->mtx); + DL_COUNT(q->list, elt, count); + pthread_mutex_unlock(&q->mtx); + + return count; } \ No newline at end of file