X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fstatsd.c;h=a0c6e4f3e935117fd9f4c428a64072e7f007bdff;hb=f7a72570f9b5c0779c6c41d42aaf0d5f0dc1fb07;hp=5b7a6f182e7cef26af41b8db2baeb26c55f95b47;hpb=ff9e11ade5cfabf32c63fb19fc76cbbc4186bc5b;p=collectd.git diff --git a/src/statsd.c b/src/statsd.c index 5b7a6f18..a0c6e4f3 100644 --- a/src/statsd.c +++ b/src/statsd.c @@ -29,11 +29,8 @@ #include "common.h" #include "configfile.h" #include "utils_avltree.h" -#include "utils_complain.h" #include "utils_latency.h" -#include - #include #include #include @@ -358,7 +355,7 @@ static int statsd_handle_set (char const *name, /* {{{ */ /* Make sure metric->set exists. */ if (metric->set == NULL) - metric->set = c_avl_create ((void *) strcmp); + metric->set = c_avl_create ((int (*) (const void *, const void *)) strcmp); if (metric->set == NULL) { @@ -712,7 +709,7 @@ static int statsd_init (void) /* {{{ */ { pthread_mutex_lock (&metrics_lock); if (metrics_tree == NULL) - metrics_tree = c_avl_create ((void *) strcmp); + metrics_tree = c_avl_create ((int (*) (const void *, const void *)) strcmp); if (!network_thread_running) { @@ -955,8 +952,6 @@ static int statsd_shutdown (void) /* {{{ */ void *key; void *value; - pthread_mutex_lock (&metrics_lock); - if (network_thread_running) { network_thread_shutdown = 1; @@ -965,6 +960,8 @@ static int statsd_shutdown (void) /* {{{ */ } network_thread_running = 0; + pthread_mutex_lock (&metrics_lock); + while (c_avl_pick (metrics_tree, &key, &value) == 0) { sfree (key);