diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2021-08-27 10:02:17 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-09-07 11:07:59 -0700 |
commit | 326460a8700c4bc025578da18509c77f72928950 (patch) | |
tree | d6f75cc796a21d63f3c906bd62ac2d75e438a121 /compat | |
parent | tr2: leave the parent list empty upon failure & don't leak memory (diff) | |
download | tgif-326460a8700c4bc025578da18509c77f72928950.tar.xz |
tr2: do compiler enum check in trace2_collect_process_info()
Change code added in 2f732bf15e6 (tr2: log parent process name,
2021-07-21) to use a switch statement without a "default" branch to
have the compiler error if this code ever drifts out of sync with the
members of the "enum trace2_process_info_reason".
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat')
-rw-r--r-- | compat/linux/procinfo.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/compat/linux/procinfo.c b/compat/linux/procinfo.c index bd01f017bc..0b47d44990 100644 --- a/compat/linux/procinfo.c +++ b/compat/linux/procinfo.c @@ -31,29 +31,30 @@ static void get_ancestry_names(struct strvec *names) void trace2_collect_process_info(enum trace2_process_info_reason reason) { + struct strvec names = STRVEC_INIT; + if (!trace2_is_enabled()) return; - if (reason == TRACE2_PROCESS_INFO_EXIT) + switch (reason) { + case TRACE2_PROCESS_INFO_EXIT: /* * The Windows version of this calls its * get_peak_memory_info() here. We may want to insert * similar process-end statistics here in the future. */ - return; - - if (reason == TRACE2_PROCESS_INFO_STARTUP) { + break; + case TRACE2_PROCESS_INFO_STARTUP: /* * NEEDSWORK: we could do the entire ptree in an array instead, * see compat/win32/trace2_win32_process_info.c. */ - struct strvec names = STRVEC_INIT; - get_ancestry_names(&names); if (names.nr) trace2_cmd_ancestry(names.v); strvec_clear(&names); + break; } return; |