diff options
Diffstat (limited to 'meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch')
-rw-r--r-- | meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch new file mode 100644 index 0000000000..89022aaf00 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | Fix the memory leak problem for mutex | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> | ||
6 | --- | ||
7 | lib/logqueue.c | 1 + | ||
8 | modules/affile/affile-dest.c | 2 ++ | ||
9 | modules/dbparser/dbparser.c | 1 + | ||
10 | 3 files changed, 4 insertions(+), 0 deletions(-) | ||
11 | |||
12 | diff --git a/lib/logqueue.c b/lib/logqueue.c | ||
13 | index 337a3c1..10edcf0 100644 | ||
14 | --- a/lib/logqueue.c | ||
15 | +++ b/lib/logqueue.c | ||
16 | @@ -188,6 +188,7 @@ log_queue_init_instance(LogQueue *self, const gchar *persist_name) | ||
17 | void | ||
18 | log_queue_free_method(LogQueue *self) | ||
19 | { | ||
20 | + g_static_mutex_free(&self->lock); | ||
21 | g_free(self->persist_name); | ||
22 | g_free(self); | ||
23 | } | ||
24 | diff --git a/modules/affile/affile-dest.c b/modules/affile/affile-dest.c | ||
25 | index a2bcdad..ce79f6f 100644 | ||
26 | --- a/modules/affile/affile-dest.c | ||
27 | +++ b/modules/affile/affile-dest.c | ||
28 | @@ -305,6 +305,7 @@ affile_dw_free(LogPipe *s) | ||
29 | { | ||
30 | AFFileDestWriter *self = (AFFileDestWriter *) s; | ||
31 | |||
32 | + g_static_mutex_free(&self->lock); | ||
33 | log_pipe_unref((LogPipe *) self->writer); | ||
34 | self->writer = NULL; | ||
35 | g_free(self->filename); | ||
36 | @@ -687,6 +688,7 @@ affile_dd_free(LogPipe *s) | ||
37 | /* NOTE: this must be NULL as deinit has freed it, otherwise we'd have circular references */ | ||
38 | g_assert(self->single_writer == NULL && self->writer_hash == NULL); | ||
39 | |||
40 | + g_static_mutex_free(&self->lock); | ||
41 | log_template_unref(self->filename_template); | ||
42 | log_writer_options_destroy(&self->writer_options); | ||
43 | log_dest_driver_free(s); | ||
44 | diff --git a/modules/dbparser/dbparser.c b/modules/dbparser/dbparser.c | ||
45 | index f1248b5..9775701 100644 | ||
46 | --- a/modules/dbparser/dbparser.c | ||
47 | +++ b/modules/dbparser/dbparser.c | ||
48 | @@ -284,6 +284,7 @@ log_db_parser_free(LogPipe *s) | ||
49 | { | ||
50 | LogDBParser *self = (LogDBParser *) s; | ||
51 | |||
52 | + g_static_mutex_free(&self->lock); | ||
53 | if (self->db) | ||
54 | pattern_db_free(self->db); | ||
55 | |||
56 | -- | ||
57 | 1.7.1 | ||
58 | |||