[PATCH 5/6] tr2: do compiler enum check in trace2_collect_process_info()
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Aug 25, 2021, 23:19 UTC
- Message-ID
- <patch-5.6-4e378da2cce-20210825T231400Z-avarab@gmail.com>
- In-Reply-To
- <cover-0.6-00000000000-20210825T231400Z-avarab@gmail.com>
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> --- compat/linux/procinfo.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/compat/linux/procinfo.c b/compat/linux/procinfo.c index c86daff2b26..46a751c9a1d 100644 --- a/compat/linux/procinfo.c +++ b/compat/linux/procinfo.c @@ -30,29 +30,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;
-- 2.33.0.733.ga72a4f1c2e1