From: Jonathan Rajotte Date: Mon, 18 Nov 2019 20:12:20 +0000 (-0500) Subject: Fix: update apps on untrack only when session is active X-Git-Tag: v2.11.1~33 X-Git-Url: http://git.liburcu.org/?p=lttng-tools.git;a=commitdiff_plain;h=606d9182a1cc67f309b1b1f1515e08b0313f4e4e Fix: update apps on untrack only when session is active This mimics what is done on the track side. Fixes #1210 Signed-off-by: Jonathan Rajotte Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-sessiond/trace-ust.c b/src/bin/lttng-sessiond/trace-ust.c index cc166fd6f..fc3f3a7a0 100644 --- a/src/bin/lttng-sessiond/trace-ust.c +++ b/src/bin/lttng-sessiond/trace-ust.c @@ -883,6 +883,7 @@ end: int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid) { int retval = LTTNG_OK; + bool should_update_apps = false; if (pid == -1) { /* Create empty tracker, replace old tracker. */ @@ -899,7 +900,7 @@ int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid) fini_pid_tracker(&tmp_tracker); /* Remove session from all applications */ - ust_app_global_update_all(session); + should_update_apps = true; } else { int ret; struct ust_app *app; @@ -918,9 +919,12 @@ int trace_ust_untrack_pid(struct ltt_ust_session *session, int pid) /* Remove session from application. */ app = ust_app_find_by_pid(pid); if (app) { - ust_app_global_update(session, app); + should_update_apps = true; } } + if (should_update_apps && session->active) { + ust_app_global_update_all(session); + } end: return retval; }