async queue:add api about length

This commit is contained in:
xiang.zhou
2024-06-07 08:31:46 +08:00
parent 6fd41502fe
commit 515d31c4e8
2 changed files with 14 additions and 0 deletions
+2
View File
@@ -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
+12
View File
@@ -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;
}