From: David Bremner Date: Sat, 19 Jun 2021 00:59:43 +0000 (-0300) Subject: lib: write talloc report in notmuch_database_destroy X-Git-Tag: archive/debian/0.33_rc0-1~55 X-Git-Url: https://git.cworth.org/git?p=notmuch;a=commitdiff_plain;h=ea301102abc55404b8b447cd50998429bfbbf9fd lib: write talloc report in notmuch_database_destroy Since most memory allocation is (ultimately) in the talloc context defined by a notmuch_database_t pointer, this gives a more complete view of memory still allocated at program shutdown. We also change the talloc report in notmuch.c to mode "a" to avoid clobbering the newly reported log. --- diff --git a/lib/database.cc b/lib/database.cc index 96458f6f..0052cb65 100644 --- a/lib/database.cc +++ b/lib/database.cc @@ -733,6 +733,15 @@ notmuch_status_t notmuch_database_destroy (notmuch_database_t *notmuch) { notmuch_status_t status; + const char* talloc_report; + + talloc_report = getenv ("NOTMUCH_TALLOC_REPORT"); + if (talloc_report && strcmp (talloc_report, "") != 0) { + FILE *report = fopen (talloc_report, "a"); + if (report) { + talloc_report_full (notmuch, report); + } + } status = notmuch_database_close (notmuch); diff --git a/notmuch.c b/notmuch.c index d0a94fc2..1404b70c 100644 --- a/notmuch.c +++ b/notmuch.c @@ -589,7 +589,7 @@ main (int argc, char *argv[]) * talloc_enable_null_tracking */ - FILE *report = fopen (talloc_report, "w"); + FILE *report = fopen (talloc_report, "a"); if (report) { talloc_report_full (NULL, report); } else {