From: Francis Deslauriers Date: Mon, 14 Dec 2020 22:30:12 +0000 (-0500) Subject: Fix: add rcu_barrier() after sessiond_cleanup() X-Git-Tag: v2.13.0-rc1~373 X-Git-Url: http://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=3b8a092fd73f011309058e0ca15c00ced3664803 Fix: add rcu_barrier() after sessiond_cleanup() This is to ensure that tracer event source (event notifier socket) are removed from the notification thread list. Signed-off-by: Francis Deslauriers Signed-off-by: Jérémie Galarneau Change-Id: I2ca8f72c023132c341193bf626c0dac20b89e1f2 --- diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index 4bdac5217..9cc15d720 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -1779,6 +1779,13 @@ stop_threads: rcu_thread_online(); sessiond_cleanup(); + /* + * Wait for all pending call_rcu work to complete tearing shutting down + * the notification thread. This call_rcu work includes shutting down + * UST apps and event notifier pipes. + */ + rcu_barrier(); + if (notification_thread) { lttng_thread_shutdown(notification_thread); lttng_thread_put(notification_thread);