diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 12:08:03 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-05 12:08:18 +0000 |
commit | 5da14042f70711ea5cf66e034699730335462f66 (patch) | |
tree | 0f6354ccac934ed87a2d555f45be4c831cf92f4a /src/aclk/aclk_query_queue.c | |
parent | Releasing debian version 1.44.3-2. (diff) | |
download | netdata-5da14042f70711ea5cf66e034699730335462f66.tar.xz netdata-5da14042f70711ea5cf66e034699730335462f66.zip |
Merging upstream version 1.45.3+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/aclk/aclk_query_queue.c (renamed from aclk/aclk_query_queue.c) | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/aclk/aclk_query_queue.c b/src/aclk/aclk_query_queue.c index 8ca21d456..3edadc002 100644 --- a/aclk/aclk_query_queue.c +++ b/src/aclk/aclk_query_queue.c @@ -10,11 +10,9 @@ static netdata_mutex_t aclk_query_queue_mutex = NETDATA_MUTEX_INITIALIZER; static struct aclk_query_queue { aclk_query_t head; - aclk_query_t tail; int block_push; } aclk_query_queue = { .head = NULL, - .tail = NULL, .block_push = 0 }; @@ -31,15 +29,7 @@ static inline int _aclk_queue_query(aclk_query_t query) aclk_query_free(query); return 1; } - if (!aclk_query_queue.head) { - aclk_query_queue.head = query; - aclk_query_queue.tail = query; - ACLK_QUEUE_UNLOCK; - return 0; - } - // TODO deduplication - aclk_query_queue.tail->next = query; - aclk_query_queue.tail = query; + DOUBLE_LINKED_LIST_APPEND_ITEM_UNSAFE(aclk_query_queue.head, query, prev, next); ACLK_QUEUE_UNLOCK; return 0; @@ -77,9 +67,7 @@ aclk_query_t aclk_queue_pop(void) return ret; } - aclk_query_queue.head = ret->next; - if (unlikely(!aclk_query_queue.head)) - aclk_query_queue.tail = aclk_query_queue.head; + DOUBLE_LINKED_LIST_REMOVE_ITEM_UNSAFE(aclk_query_queue.head, ret, prev, next); ACLK_QUEUE_UNLOCK; ret->next = NULL; @@ -92,7 +80,7 @@ void aclk_queue_flush(void) while (query) { aclk_query_free(query); query = aclk_queue_pop(); - }; + } } aclk_query_t aclk_query_new(aclk_query_type_t type) |