this fixes a cosmetic bug where the queue length stat would incorrectly
increment when a file was moved up from further down in the queue.
---
 src/rrd_daemon.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/rrd_daemon.c b/src/rrd_daemon.c
index d56cf06..97eed32 100644
--- a/src/rrd_daemon.c
+++ b/src/rrd_daemon.c
@@ -587,6 +587,12 @@ static void remove_from_queue(cache_item_t *ci) /* {{{ */
 
   ci->next = ci->prev = NULL;
   ci->flags &= ~CI_FLAGS_IN_QUEUE;
+
+  pthread_mutex_lock (&stats_lock);
+  assert (stats_queue_length > 0);
+  stats_queue_length--;
+  pthread_mutex_unlock (&stats_lock);
+
 } /* }}} static void remove_from_queue */
 
 /* free the resources associated with the cache_item_t
@@ -846,11 +852,6 @@ static void *queue_thread_main (void *args 
__attribute__((unused))) /* {{{ */
     wipe_ci_values(ci, time(NULL));
     remove_from_queue(ci);
 
-    pthread_mutex_lock (&stats_lock);
-    assert (stats_queue_length > 0);
-    stats_queue_length--;
-    pthread_mutex_unlock (&stats_lock);
-
     pthread_mutex_unlock (&cache_lock);
 
     rrd_clear_error ();
-- 
1.6.0.3

_______________________________________________
rrd-developers mailing list
[email protected]
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers

Reply via email to