Fix the memory leak problem for mutex Upstream-Status: Pending Signed-off-by: Xufeng Zhang --- lib/logqueue.c | 1 + modules/affile/affile-dest.c | 2 ++ modules/dbparser/dbparser.c | 1 + 3 files changed, 4 insertions(+), 0 deletions(-) diff --git a/lib/logqueue.c b/lib/logqueue.c index 337a3c1..10edcf0 100644 --- a/lib/logqueue.c +++ b/lib/logqueue.c @@ -188,6 +188,7 @@ log_queue_init_instance(LogQueue *self, const gchar *persist_name) void log_queue_free_method(LogQueue *self) { + g_static_mutex_free(&self->lock); g_free(self->persist_name); g_free(self); } diff --git a/modules/affile/affile-dest.c b/modules/affile/affile-dest.c index a2bcdad..ce79f6f 100644 --- a/modules/affile/affile-dest.c +++ b/modules/affile/affile-dest.c @@ -305,6 +305,7 @@ affile_dw_free(LogPipe *s) { AFFileDestWriter *self = (AFFileDestWriter *) s; + g_static_mutex_free(&self->lock); log_pipe_unref((LogPipe *) self->writer); self->writer = NULL; g_free(self->filename); @@ -687,6 +688,7 @@ affile_dd_free(LogPipe *s) /* NOTE: this must be NULL as deinit has freed it, otherwise we'd have circular references */ g_assert(self->single_writer == NULL && self->writer_hash == NULL); + g_static_mutex_free(&self->lock); log_template_unref(self->filename_template); log_writer_options_destroy(&self->writer_options); log_dest_driver_free(s); diff --git a/modules/dbparser/dbparser.c b/modules/dbparser/dbparser.c index f1248b5..9775701 100644 --- a/modules/dbparser/dbparser.c +++ b/modules/dbparser/dbparser.c @@ -284,6 +284,7 @@ log_db_parser_free(LogPipe *s) { LogDBParser *self = (LogDBParser *) s; + g_static_mutex_free(&self->lock); if (self->db) pattern_db_free(self->db); -- 1.7.1