diff options
| author | David Bremner <david@tethera.net> | 2021-06-18 21:59:43 -0300 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2021-06-25 09:20:37 -0300 |
| commit | ea301102abc55404b8b447cd50998429bfbbf9fd (patch) | |
| tree | 517750c0a0769c9ea3c435d90eedd05e05b46d60 | |
| parent | 2c96956b3b5d60ae25885f4fa06cbc98e567d263 (diff) | |
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.
| -rw-r--r-- | lib/database.cc | 9 | ||||
| -rw-r--r-- | notmuch.c | 2 |
2 files changed, 10 insertions, 1 deletions
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); @@ -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 { |
