From 520cf668149d43820a25869dc5f2eb7ff2ac5687 Mon Sep 17 00:00:00 2001 From: Jeff Hostetler Date: Thu, 7 Mar 2024 15:22:28 +0000 Subject: trace2: avoid emitting 'def_param' set more than once During nested alias expansion it is possible for "trace2_cmd_list_config()" and "trace2_cmd_list_env_vars()" to be called more than once. This causes a full set of 'def_param' events to be emitted each time. Let's avoid that. Add code to those two functions to only emit them once. Signed-off-by: Jeff Hostetler Signed-off-by: Junio C Hamano --- trace2.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'trace2.c') diff --git a/trace2.c b/trace2.c index f1e268bd15..facce641ef 100644 --- a/trace2.c +++ b/trace2.c @@ -464,17 +464,29 @@ void trace2_cmd_alias_fl(const char *file, int line, const char *alias, void trace2_cmd_list_config_fl(const char *file, int line) { + static int emitted = 0; + if (!trace2_enabled) return; + if (emitted) + return; + emitted = 1; + tr2_cfg_list_config_fl(file, line); } void trace2_cmd_list_env_vars_fl(const char *file, int line) { + static int emitted = 0; + if (!trace2_enabled) return; + if (emitted) + return; + emitted = 1; + tr2_list_env_vars_fl(file, line); } -- cgit v1.3-5-g9baa