X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fmain.c;h=4bdac5217978d28dd2af6c036d66f0650615a9bf;hp=a428630f8ba8c17f7aae052d0eca89c6c3ffe379;hb=f5fb86c1254b785eee8caf87cb996d33eda0ede9;hpb=9bc2ec5fac0abab41b0851aaabaf8fd27811c514 diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index a428630f8..4bdac5217 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -1,20 +1,10 @@ /* - * Copyright (C) 2011 - David Goulet - * Mathieu Desnoyers - * 2013 - Jérémie Galarneau + * Copyright (C) 2011 David Goulet + * Copyright (C) 2011 Mathieu Desnoyers + * Copyright (C) 2013 Jérémie Galarneau * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License, version 2 only, - * as published by the Free Software Foundation. + * SPDX-License-Identifier: GPL-2.0-only * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #define _LGPL_SOURCE @@ -62,7 +52,7 @@ #include "kernel.h" #include "kernel-consumer.h" #include "shm.h" -#include "ust-ctl.h" +#include "lttng-ust-ctl.h" #include "ust-consumer.h" #include "utils.h" #include "fd-limit.h" @@ -95,6 +85,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 +424,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")) { @@ -667,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; @@ -789,6 +779,10 @@ end: return ret; } +static void print_version(void) { + fprintf(stdout, "%s\n", VERSION); +} + /* * daemon configuration loading and argument parsing */ @@ -875,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); } /* @@ -1189,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) @@ -1201,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"); @@ -1282,7 +1276,7 @@ static int launch_run_as_worker(const char *procname) static void sessiond_uuid_log(void) { - char uuid_str[UUID_STR_LEN]; + char uuid_str[LTTNG_UUID_STR_LEN]; lttng_uuid_to_str(sessiond_uuid, uuid_str); DBG("Starting lttng-sessiond {%s}", uuid_str); @@ -1308,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(); @@ -1386,6 +1381,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;