X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fwrite_graphite.c;h=0f9a8bea86edd4828b9a47f06ad1fc62f40bec09;hb=290741f2e6de9e9b467463c1f0c6f031c4036428;hp=6baace14410e48f72761d21d6d2db1c9fdb854ad;hpb=4bca6c6b7e03ab4aa0d6a8a59dda3e44608f63f1;p=collectd.git diff --git a/src/write_graphite.c b/src/write_graphite.c index 6baace14..0f9a8bea 100644 --- a/src/write_graphite.c +++ b/src/write_graphite.c @@ -51,9 +51,6 @@ #include "utils_complain.h" #include "utils_format_graphite.h" -/* Folks without pthread will need to disable this plugin. */ -#include - #include #define WG_DEFAULT_NODE "localhost" @@ -138,7 +135,10 @@ static void wg_reset_buffer (struct wg_callback *cb) static int wg_send_buffer (struct wg_callback *cb) { - ssize_t status = 0; + ssize_t status; + + if (cb->sock_fd < 0) + return (-1); status = swrite (cb->sock_fd, cb->send_buf, strlen (cb->send_buf)); if (status != 0) @@ -180,7 +180,7 @@ static int wg_flush_nolock (cdtime_t timeout, struct wg_callback *cb) return (0); } - if (cb->send_buf_fill <= 0) + if (cb->send_buf_fill == 0) { cb->send_buf_init_time = cdtime (); return (0); @@ -486,13 +486,12 @@ static int wg_config_node (oconfig_item_t *ci) int i; int status = 0; - cb = malloc (sizeof (*cb)); + cb = calloc (1, sizeof (*cb)); if (cb == NULL) { - ERROR ("write_graphite plugin: malloc failed."); + ERROR ("write_graphite plugin: calloc failed."); return (-1); } - memset (cb, 0, sizeof (*cb)); cb->sock_fd = -1; cb->name = NULL; cb->node = strdup (WG_DEFAULT_NODE);