summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 548543e)
raw | patch | inline | side by side (parent: 548543e)
author | Pierre-Yves Ritschard <pyr@spootnik.org> | |
Thu, 14 Apr 2016 08:12:27 +0000 (10:12 +0200) | ||
committer | Pierre-Yves Ritschard <pyr@spootnik.org> | |
Thu, 14 Apr 2016 08:15:31 +0000 (10:15 +0200) |
src/write_riemann.c | patch | blob | history |
diff --git a/src/write_riemann.c b/src/write_riemann.c
index 1836b6b1d67cbace9f043cbbe47776eee924c989..f836b9dfe900d74f9edac4f4d756d4a791af9c6c 100644 (file)
--- a/src/write_riemann.c
+++ b/src/write_riemann.c
*
* Acquires the host lock, disconnects on errors.
*/
-static int wrr_send(struct riemann_host *host, riemann_message_t *msg) /* {{{ */
+static int wrr_send_nolock(struct riemann_host *host, riemann_message_t *msg) /* {{{ */
{
int status = 0;
- pthread_mutex_lock (&host->lock);
status = wrr_connect(host);
if (status != 0) {
- pthread_mutex_unlock(&host->lock);
return status;
}
status = riemann_client_send_message(host->client, msg);
if (status != 0) {
wrr_disconnect(host);
- pthread_mutex_unlock(&host->lock);
return status;
}
@@ -166,16 +163,24 @@ static int wrr_send(struct riemann_host *host, riemann_message_t *msg) /* {{{ */
if (response == NULL)
{
wrr_disconnect(host);
- pthread_mutex_unlock(&host->lock);
return errno;
}
riemann_message_free(response);
}
- pthread_mutex_unlock (&host->lock);
return 0;
} /* }}} int wrr_send */
+static int wrr_send(struct riemann_host *host, riemann_message_t *msg)
+{
+ int status = 0;
+
+ pthread_mutex_lock (&host->lock);
+ status = wrr_send_nolock(host, msg);
+ pthread_mutex_unlock (&host->lock);
+ return status;
+}
+
static riemann_message_t *wrr_notification_to_message(struct riemann_host *host, /* {{{ */
notification_t const *n)
{
if ((host->batch_init + timeout) > now)
return status;
}
- wrr_send(host, host->batch_msg);
+ wrr_send_nolock(host, host->batch_msg);
riemann_message_free(host->batch_msg);
if (host->client_type != RIEMANN_CLIENT_UDP)