[PATCH v3 5/6] tr2: do compiler enum check in trace2_collect_process_info()
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Aug 27, 2021, 08:02 UTC
- Message-ID
- <patch-v3-5.6-0bea5aa9c9-20210827T080054Z-avarab@gmail.com>
- In-Reply-To
- <cover-v3-0.6-0000000000-20210827T080054Z-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 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;
-- 2.33.0.736.g68690aaec9a