X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng%2Flttng.c;h=40cf52bc6a3b02059a1ea8635c412737f8a5f71f;hp=169e70eb0ddeedf5d29ffbe57ffb4f8581b3990f;hb=87378cf56f08f23cd6715a923ba10d98343902d7;hpb=8028d92056a3f0f8999cb895d0fd21eeca0ce849 diff --git a/lttng/lttng.c b/lttng/lttng.c index 169e70eb0..40cf52bc6 100644 --- a/lttng/lttng.c +++ b/lttng/lttng.c @@ -93,6 +93,10 @@ static int process_client_opt(void) } } + if (opt_session_uuid != NULL) { + lttng_set_current_session_uuid(opt_session_uuid); + } + return 0; end: @@ -353,6 +357,9 @@ static void sighandler(int sig) void clean_exit(int code) { DBG("Clean exit"); + if (lttng_disconnect_sessiond() < 0) { + ERR("Session daemon disconnect failed."); + } exit(code); } @@ -372,12 +379,12 @@ int main(int argc, char *argv[]) ret = parse_args(argc, (const char **) argv); if (ret < 0) { - return EXIT_FAILURE; + clean_exit(EXIT_FAILURE); } ret = set_signal_handler(); if (ret < 0) { - return ret; + clean_exit(ret); } if (opt_tracing_group != NULL) { @@ -390,7 +397,7 @@ int main(int argc, char *argv[]) DBG("Kernel tracing activated"); if (getuid() != 0) { ERR("%s must be setuid root", progname); - return -EPERM; + clean_exit(-EPERM); } } @@ -398,13 +405,15 @@ int main(int argc, char *argv[]) * If no, a daemon will be spawned. */ if (opt_no_sessiond == 0 && (check_ltt_sessiond() < 0)) { - return EXIT_FAILURE; + clean_exit(EXIT_FAILURE); } ret = process_client_opt(); if (ret < 0) { - return ret; + clean_exit(ret); } + clean_exit(0); + return 0; }