summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/tracing/rtla/src/timerlat_hist.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/tracing/rtla/src/timerlat_hist.c b/tools/tracing/rtla/src/timerlat_hist.c
index f1edf1c8a7b0..53ded187b33a 100644
--- a/tools/tracing/rtla/src/timerlat_hist.c
+++ b/tools/tracing/rtla/src/timerlat_hist.c
@@ -1134,6 +1134,14 @@ static int stop_tracing;
static struct trace_instance *hist_inst = NULL;
static void stop_hist(int sig)
{
+ if (stop_tracing) {
+ /*
+ * Stop requested twice in a row; abort event processing and
+ * exit immediately
+ */
+ tracefs_iterate_stop(hist_inst->inst);
+ return;
+ }
stop_tracing = 1;
if (hist_inst)
trace_instance_stop(hist_inst);