Re: [PATCH 1/3] CLI: add talloc leak report, controlled by an environment variable.
On Mon, Dec 17 2012, da...@tethera.net wrote: From: David Bremner brem...@debian.org The argument handling in notmuch.c seems due for an overhaul, but until then use an environment variable to specify a location to write the talloc leak report to. This is only enabled for the (interesting) case where some notmuch subcommand is invoked. --- I'd still suggest to have similar command-line interface option(s) as samba4 use: --leak-report and/or --leak-report-full (search --leak-r in talloc(3) namual page) Tomi notmuch.c | 16 ++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/notmuch.c b/notmuch.c index 9516dfb..fb49c5a 100644 --- a/notmuch.c +++ b/notmuch.c @@ -322,8 +322,20 @@ main (int argc, char *argv[]) for (i = 0; i ARRAY_SIZE (commands); i++) { command = commands[i]; - if (strcmp (argv[1], command-name) == 0) - return (command-function) (local, argc - 1, argv[1]); + if (strcmp (argv[1], command-name) == 0) { + int ret; + char *talloc_report; + + ret = (command-function) (local, argc - 1, argv[1]); + + talloc_report=getenv (NOTMUCH_TALLOC_REPORT); + if (talloc_report strcmp(talloc_report, ) != 0) { + FILE *report = fopen (talloc_report, w); + talloc_report_full (NULL, report); + } + + return ret; + } } fprintf (stderr, Error: Unknown command '%s' (see \notmuch help\)\n, -- 1.7.10.4 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 1/3] CLI: add talloc leak report, controlled by an environment variable.
Tomi Ollila tomi.oll...@iki.fi writes: On Mon, Dec 17 2012, da...@tethera.net wrote: From: David Bremner brem...@debian.org The argument handling in notmuch.c seems due for an overhaul, but until then use an environment variable to specify a location to write the talloc leak report to. This is only enabled for the (interesting) case where some notmuch subcommand is invoked. --- I'd still suggest to have similar command-line interface option(s) as samba4 use: --leak-report and/or --leak-report-full (search --leak-r in talloc(3) namual page) Sure sounds fine, when someone (TM) redoes the top level argument handling. I think it would make sense to ditch the alias handling completely; both current aliases are deprecated for a long time. d ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch
Re: [PATCH 1/3] CLI: add talloc leak report, controlled by an environment variable.
Quoth da...@tethera.net on Dec 16 at 11:24 pm: From: David Bremner brem...@debian.org The argument handling in notmuch.c seems due for an overhaul, but until then use an environment variable to specify a location to write the talloc leak report to. This is only enabled for the (interesting) case where some notmuch subcommand is invoked. --- notmuch.c | 16 ++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/notmuch.c b/notmuch.c index 9516dfb..fb49c5a 100644 --- a/notmuch.c +++ b/notmuch.c @@ -322,8 +322,20 @@ main (int argc, char *argv[]) for (i = 0; i ARRAY_SIZE (commands); i++) { command = commands[i]; - if (strcmp (argv[1], command-name) == 0) - return (command-function) (local, argc - 1, argv[1]); + if (strcmp (argv[1], command-name) == 0) { + int ret; + char *talloc_report; + + ret = (command-function) (local, argc - 1, argv[1]); + + talloc_report=getenv (NOTMUCH_TALLOC_REPORT); Missing spaces around =. I think hacking this in as an environment variable is fine, but maybe there should be a comment here saying that it would be better to follow Samba's talloc command-line argument conventions? + if (talloc_report strcmp(talloc_report, ) != 0) { Missing space before paren. + FILE *report = fopen (talloc_report, w); + talloc_report_full (NULL, report); Maybe I'm missing something here, but don't you have to call talloc_enable_leak_report_full before the first use of talloc to get a complete leak report? + } + + return ret; + } } fprintf (stderr, Error: Unknown command '%s' (see \notmuch help\)\n, ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch