From 3baf5a410f36cc25aefabe3368d7ccda93eaabac Mon Sep 17 00:00:00 2001 From: Philipp Jungkamp Date: Fri, 23 Jun 2023 13:03:18 +0200 Subject: [PATCH] queue: Fix incorrect signalling on queue push Pushing zero values to a CQueueSignalled should't wake the synchronization mechanism. Signed-off-by: Philipp Jungkamp --- lib/queue_signalled.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/queue_signalled.cpp b/lib/queue_signalled.cpp index 7985cc670..3bad38ebb 100644 --- a/lib/queue_signalled.cpp +++ b/lib/queue_signalled.cpp @@ -117,7 +117,7 @@ int villas::node::queue_signalled_push(struct CQueueSignalled *qs, void *ptr) int pushed; pushed = queue_push(&qs->queue, ptr); - if (pushed < 0) + if (pushed <= 0) return pushed; if (qs->mode == QueueSignalledMode::PTHREAD) { @@ -148,7 +148,7 @@ int villas::node::queue_signalled_push_many(struct CQueueSignalled *qs, void *pt int pushed; pushed = queue_push_many(&qs->queue, ptr, cnt); - if (pushed < 0) + if (pushed <= 0) return pushed; if (qs->mode == QueueSignalledMode::PTHREAD) {