From dec38ac592b058a057bdf423cface765f57829e0 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Sun, 5 Sep 2021 17:21:42 -0400 Subject: Avoid logging that a new consumer dropped messages A new consumer is obviously expected to have dropped a huge number of messages. --- ring.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ring.c b/ring.c index 735d780..5aa3e93 100644 --- a/ring.c +++ b/ring.c @@ -112,10 +112,12 @@ size_t ringDiff(size_t consumer) { const char *ringPeek(struct timeval *time, size_t consumer) { if (!ringDiff(consumer)) return NULL; if (ringDiff(consumer) > ring.len) { - warnx( - "consumer %s dropped %zu messages", - consumers.ptr[consumer].name, ringDiff(consumer) - ring.len - ); + if (consumers.ptr[consumer].pos) { + warnx( + "consumer %s dropped %zu messages", + consumers.ptr[consumer].name, ringDiff(consumer) - ring.len + ); + } consumers.ptr[consumer].pos = producer - ring.len; } size_t i = consumers.ptr[consumer].pos & (ring.len - 1); -- cgit 1.4.1