From 365020c5c0823c91a8011e34597f970a7cfb4fb3 Mon Sep 17 00:00:00 2001
From: Tusa Viktor <tusavik@gmail.com>
Date: Wed, 23 Apr 2014 17:10:58 +0000
Subject: [PATCH] logwriter: still free the unconsumed item during reloading
 configuration

Upstream-Status: Backport

Otherwise we have no chance to free this stuff.

Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com>
Signed-off-by: Tusa Viktor <tusavik@gmail.com>
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
---
 lib/logproto/logproto-client.h      |    2 +-
 lib/logproto/logproto-text-client.c |   11 +++++++++++
 lib/logwriter.c                     |    9 +++++++--
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/lib/logproto/logproto-client.h b/lib/logproto/logproto-client.h
index 254ecf9..5adc917 100644
--- a/lib/logproto/logproto-client.h
+++ b/lib/logproto/logproto-client.h
@@ -47,7 +47,6 @@ void log_proto_client_options_defaults(LogProtoClientOptions *options);
 void log_proto_client_options_init(LogProtoClientOptions *options, GlobalConfig *cfg);
 void log_proto_client_options_destroy(LogProtoClientOptions *options);
 
-
 struct _LogProtoClient
 {
   LogProtoStatus status;
@@ -107,6 +106,7 @@ log_proto_client_reset_error(LogProtoClient *s)
 gboolean log_proto_client_validate_options(LogProtoClient *self);
 void log_proto_client_init(LogProtoClient *s, LogTransport *transport, const LogProtoClientOptions *options);
 void log_proto_client_free(LogProtoClient *s);
+void log_proto_client_free_method(LogProtoClient *s);
 
 #define DEFINE_LOG_PROTO_CLIENT(prefix) \
   static gpointer                                                       \
diff --git a/lib/logproto/logproto-text-client.c b/lib/logproto/logproto-text-client.c
index 3248759..a5100f3 100644
--- a/lib/logproto/logproto-text-client.c
+++ b/lib/logproto/logproto-text-client.c
@@ -146,12 +146,23 @@ log_proto_text_client_post(LogProtoClient *s, guchar *msg, gsize msg_len, gboole
 }
 
 void
+log_proto_text_client_free(LogProtoClient *s)
+{
+  LogProtoTextClient *self = (LogProtoTextClient *)s;
+  if (self->partial_free)
+    self->partial_free(self->partial);
+  self->partial = NULL;
+  log_proto_client_free_method(s);
+};
+
+void
 log_proto_text_client_init(LogProtoTextClient *self, LogTransport *transport, const LogProtoClientOptions *options)
 {
   log_proto_client_init(&self->super, transport, options);
   self->super.prepare = log_proto_text_client_prepare;
   self->super.flush = log_proto_text_client_flush;
   self->super.post = log_proto_text_client_post;
+  self->super.free_fn = log_proto_text_client_free;
   self->super.transport = transport;
   self->next_state = -1;
 }
diff --git a/lib/logwriter.c b/lib/logwriter.c
index 3292e31..470bcdb 100644
--- a/lib/logwriter.c
+++ b/lib/logwriter.c
@@ -1063,8 +1063,13 @@ log_writer_flush(LogWriter *self, LogWriterFlushMode flush_mode)
         }
       else
         {
-          /* push back to the queue */
-          log_queue_push_head(self->queue, lm, &path_options);
+          if (flush_mode == LW_FLUSH_QUEUE)
+            log_msg_unref(lm);
+          else
+            {
+              /* push back to the queue */
+              log_queue_push_head(self->queue, lm, &path_options);
+            }
           msg_set_context(NULL);
           log_msg_refcache_stop();
           break;
-- 
1.7.10.4

