blob: 89022aaf0083c4a11ae713d16f206aa9545ab523 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
Fix the memory leak problem for mutex
Upstream-Status: Pending
Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
---
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
|