X-Git-Url: http://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fmain.c;h=9cc15d720210fc2a267fe178be19f55a31cf682a;hp=55e0ad3d7a28623cb6f1bdad7ccc04e289f410f8;hb=3b8a092fd73f011309058e0ca15c00ced3664803;hpb=ab5be9fa2eb5ba9600a82cd18fd3cfcbac69169a diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index 55e0ad3d7..9cc15d720 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -657,7 +657,7 @@ static int set_option(int opt, const char *arg, const char *optname) WARN("Getting '%s' argument from setuid/setgid binary refused for security reasons.", "-l, --load"); } else { - config_string_set(&config.load_session_path, strdup(arg)); + config_string_set(&config.load_session_path, strdup(arg)); if (!config.load_session_path.value) { PERROR("strdup"); ret = -ENOMEM; @@ -869,7 +869,7 @@ end: */ static int create_lockfile(void) { - return utils_create_lock_file(config.lock_file_path.value); + return utils_create_lock_file(config.lock_file_path.value); } /* @@ -1183,7 +1183,7 @@ static void set_ulimit(void) static int write_pidfile(void) { - return utils_create_pid_file(getpid(), config.pid_file_path.value); + return utils_create_pid_file(getpid(), config.pid_file_path.value); } static int set_clock_plugin_env(void) @@ -1195,7 +1195,7 @@ static int set_clock_plugin_env(void) goto end; } - ret = asprintf(&env_value, "LTTNG_UST_CLOCK_PLUGIN=%s", + ret = asprintf(&env_value, "LTTNG_UST_CLOCK_PLUGIN=%s", config.lttng_ust_clock_plugin.value); if (ret < 0) { PERROR("asprintf"); @@ -1302,6 +1302,7 @@ int main(int argc, char **argv) struct lttng_thread *notification_thread = NULL; struct lttng_thread *register_apps_thread = NULL; + logger_set_thread_name("Main", false); init_kernel_workarounds(); rcu_register_thread(); @@ -1778,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);