X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrdtool.c;h=f6290d73ec451e2b2bcd5b2889942f6e8aa2079a;hb=7c9d772c992647fcba64a96800c146eb9f1647f8;hp=c93e9fcef26237a9c2cc4eb7790e7ef285de2fd2;hpb=a396da422740caf336a6d594515e8d80de6f440a;p=collectd.git diff --git a/src/rrdtool.c b/src/rrdtool.c index c93e9fce..f6290d73 100644 --- a/src/rrdtool.c +++ b/src/rrdtool.c @@ -67,7 +67,7 @@ static int config_keys_num = STATIC_ARRAY_SIZE(config_keys); * is zero a default, depending on the `interval' member of the value list is * being used. */ static char *datadir; -static double write_rate = 0.0; +static double write_rate; static rrdcreate_config_t rrdcreate_config = { /* stepsize = */ 0, /* heartbeat = */ 0, @@ -84,9 +84,9 @@ static rrdcreate_config_t rrdcreate_config = { /* XXX: If you need to lock both, cache_lock and queue_lock, at the same time, * ALWAYS lock `cache_lock' first! */ -static cdtime_t cache_timeout = 0; -static cdtime_t cache_flush_timeout = 0; -static cdtime_t random_timeout = 0; +static cdtime_t cache_timeout; +static cdtime_t cache_flush_timeout; +static cdtime_t random_timeout; static cdtime_t cache_flush_last; static c_avl_tree_t *cache; static pthread_mutex_t cache_lock = PTHREAD_MUTEX_INITIALIZER; @@ -104,7 +104,7 @@ static pthread_cond_t queue_cond = PTHREAD_COND_INITIALIZER; static pthread_mutex_t librrd_lock = PTHREAD_MUTEX_INITIALIZER; #endif -static int do_shutdown = 0; +static int do_shutdown; #if HAVE_THREADSAFE_LIBRRD static int srrd_update(char *filename, char *template, int argc, @@ -624,6 +624,7 @@ static int rrd_cache_insert(const char *filename, const char *value, if ((status != 0) || (rc == NULL)) { rc = malloc(sizeof(*rc)); if (rc == NULL) { + ERROR("rrdtool plugin: malloc failed: %s", STRERRNO); pthread_mutex_unlock(&cache_lock); return -1; } @@ -790,17 +791,22 @@ static int rrd_write(const data_set_t *ds, const value_list_t *vl, } char filename[PATH_MAX]; - if (value_list_to_filename(filename, sizeof(filename), vl) != 0) + if (value_list_to_filename(filename, sizeof(filename), vl) != 0) { + ERROR("rrdtool plugin: failed to build filename"); return -1; + } char values[32 * (ds->ds_num + 1)]; - if (value_list_to_string(values, sizeof(values), ds, vl) != 0) + if (value_list_to_string(values, sizeof(values), ds, vl) != 0) { + ERROR("rrdtool plugin: failed to build values string"); return -1; + } struct stat statbuf = {0}; if (stat(filename, &statbuf) == -1) { if (errno == ENOENT) { if (cu_rrd_create_file(filename, ds, vl, &rrdcreate_config) != 0) { + ERROR("rrdtool plugin: cu_rrd_create_file (%s) failed.", filename); return -1; } else if (rrdcreate_config.async) { return 0; @@ -1010,7 +1016,7 @@ static int rrd_shutdown(void) { } /* int rrd_shutdown */ static int rrd_init(void) { - static int init_once = 0; + static int init_once; if (init_once != 0) return 0;