[rrd-developers] [PATCH] rrdcached: move queue length decrement into remove_from_queue

kevin brintnall kbrint at rufus.net
Sat Nov 8 20:02:58 CET 2008


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



More information about the rrd-developers mailing list