X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fstatsd.c;h=1819b3ea21437e28ee0d505b941e84243ffbdd76;hb=95dcf60c822e4ab92c0dd1a7ff6cba73bc55bcd1;hp=d0a677e70476c79dc5fa0299c3da4af8292cdfd9;hpb=ca4a6c8a856a9012270ec10389b08d54e70e3401;p=collectd.git diff --git a/src/statsd.c b/src/statsd.c index d0a677e7..1819b3ea 100644 --- a/src/statsd.c +++ b/src/statsd.c @@ -32,8 +32,6 @@ #include "utils_complain.h" #include "utils_latency.h" -#include - #include #include #include @@ -127,14 +125,13 @@ static statsd_metric_t *statsd_metric_lookup_unsafe (char const *name, /* {{{ */ return (NULL); } - metric = malloc (sizeof (*metric)); + metric = calloc (1, sizeof (*metric)); if (metric == NULL) { - ERROR ("statsd plugin: malloc failed."); + ERROR ("statsd plugin: calloc failed."); sfree (key_copy); return (NULL); } - memset (metric, 0, sizeof (*metric)); metric->type = type; metric->latency = NULL; @@ -956,8 +953,6 @@ static int statsd_shutdown (void) /* {{{ */ void *key; void *value; - pthread_mutex_lock (&metrics_lock); - if (network_thread_running) { network_thread_shutdown = 1; @@ -966,6 +961,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);