[PATCH] notmuch: unref charset_filter (once more) to fix one memory leak
tomi.ollila at iki.fi
tomi.ollila at iki.fi
Tue Dec 13 10:18:48 PST 2011
From: Tomi Ollila <tomi.ollila at iki.fi>
In my test case added g_object_unref(charset_filter) reduces memory
consumption over 90% when 'notmuch show --format=text "*"' is
executed (~11000 messages, RES ~330M -> ~25M).
---
Thanks Dmitry. I did not realize unref unreferences, does not deallocate
memory/data structures. g_mime_stream_filter_add() takes an additional
reference to the charset_filter object.
notmuch-show.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/notmuch-show.c b/notmuch-show.c
index 873a7c4..8da3295 100644
--- a/notmuch-show.c
+++ b/notmuch-show.c
@@ -471,9 +471,12 @@ show_text_part_content (GMimeObject *part, GMimeStream *stream_out)
/* This result can be NULL for things like "unknown-8bit".
* Don't set a NULL filter as that makes GMime print
* annoying assertion-failure messages on stderr. */
- if (charset_filter)
+ if (charset_filter) {
g_mime_stream_filter_add (GMIME_STREAM_FILTER (stream_filter),
charset_filter);
+ g_object_unref (charset_filter);
+ }
+
}
wrapper = g_mime_part_get_content_object (GMIME_PART (part));
--
1.7.6.1
More information about the notmuch
mailing list