X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fmain.c;h=f7832300a002222428e8b06a21023def90f9cf57;hp=5f99bdbf63b66c01bb70d54a9839170b0e67d487;hb=a3bc3918a3e9f219cc54adcc41dd6b37381b30ff;hpb=7d268848fe44e591c53c8dfce796c6503c4539e8 diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index 5f99bdbf6..f7832300a 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -95,6 +95,7 @@ NULL const char *progname; static int lockfile_fd = -1; +static int opt_print_version; /* Set to 1 when a SIGUSR1 signal is received. */ static int recv_child_signal; @@ -433,8 +434,7 @@ static int set_option(int opt, const char *arg, const char *optname) } exit(ret ? EXIT_FAILURE : EXIT_SUCCESS); } else if (string_match(optname, "version") || opt == 'V') { - fprintf(stdout, "%s\n", VERSION); - exit(EXIT_SUCCESS); + opt_print_version = 1; } else if (string_match(optname, "sig-parent") || opt == 'S') { config.sig_parent = true; } else if (string_match(optname, "kconsumerd-err-sock")) { @@ -789,6 +789,10 @@ end: return ret; } +static void print_version(void) { + fprintf(stdout, "%s\n", VERSION); +} + /* * daemon configuration loading and argument parsing */ @@ -1386,6 +1390,12 @@ int main(int argc, char **argv) sessiond_config_log(&config); sessiond_uuid_log(); + if (opt_print_version) { + print_version(); + retval = 0; + goto exit_options; + } + if (create_lttng_rundir()) { retval = -1; goto exit_options; @@ -1819,7 +1829,9 @@ stop_threads: lttng_pipe_destroy(ust64_channel_monitor_pipe); lttng_pipe_destroy(kernel_channel_monitor_pipe); - health_app_destroy(health_sessiond); + if (health_sessiond) { + health_app_destroy(health_sessiond); + } exit_create_run_as_worker_cleanup: exit_options: sessiond_cleanup_lock_file();