X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fwrite_riemann.c;h=00852ffbf2c851665196252ea45f2b445d8655f0;hb=6ce52f70cc1e6450df3454f19743a29295b84050;hp=043a06b0a55e9b1dfdf01291f253fc02586ce322;hpb=d061c270fabc5dba961cf2b94ebe968e9a89b899;p=collectd.git diff --git a/src/write_riemann.c b/src/write_riemann.c index 043a06b0..00852ffb 100644 --- a/src/write_riemann.c +++ b/src/write_riemann.c @@ -36,7 +36,6 @@ #include "utils_complain.h" #include "write_riemann_threshold.h" -#include #include #define RIEMANN_HOST "localhost" @@ -100,6 +99,7 @@ static int wrr_connect(struct riemann_host *host) /* {{{ */ node, port); return -1; } +#if RCC_VERSION_NUMBER >= 0x010800 if (host->timeout.tv_sec != 0) { if (riemann_client_set_timeout(host->client, &host->timeout) != 0) { riemann_client_free(host->client); @@ -110,6 +110,7 @@ static int wrr_connect(struct riemann_host *host) /* {{{ */ return -1; } } +#endif set_sock_opts(riemann_client_get_fd(host->client)); @@ -600,6 +601,7 @@ static void wrr_free(void *p) /* {{{ */ wrr_disconnect(host); + pthread_mutex_lock(&host->lock); pthread_mutex_destroy(&host->lock); sfree(host); } /* }}} void wrr_free */ @@ -679,9 +681,14 @@ static int wrr_config_node(oconfig_item_t *ci) /* {{{ */ if (status != 0) break; } else if (strcasecmp("Timeout", child->key) == 0) { +#if RCC_VERSION_NUMBER >= 0x010800 status = cf_util_get_int(child, (int *)&host->timeout.tv_sec); if (status != 0) break; +#else + WARNING("write_riemann plugin: The Timeout option is not supported. " + "Please upgrade the Riemann client to at least 1.8.0."); +#endif } else if (strcasecmp("Port", child->key) == 0) { host->port = cf_util_get_port_number(child); if (host->port == -1) { @@ -789,10 +796,7 @@ static int wrr_config_node(oconfig_item_t *ci) /* {{{ */ ssnprintf(callback_name, sizeof(callback_name), "write_riemann/%s", host->name); - user_data_t ud = { - .data = host, - .free_func = wrr_free - }; + user_data_t ud = {.data = host, .free_func = wrr_free}; pthread_mutex_lock(&host->lock);