X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng%2Flttng.c;h=f568933650407693be890e636843effa77af0299;hp=e6e657cc1ec4e59438bd011b55f5345de7894d19;hb=3f5fa9ed7f1b26c152c7702a81ef77a40a2f1372;hpb=865abf6508f89f0ef1fc37e415cfc49237092516 diff --git a/lttng/lttng.c b/lttng/lttng.c index e6e657cc1..f56893365 100644 --- a/lttng/lttng.c +++ b/lttng/lttng.c @@ -3,8 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * as published by the Free Software Foundation; only version 2 + * of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -39,7 +39,6 @@ static int opt_no_sessiond; static char *opt_sessiond_path; enum { - OPT_NO_SESSIOND, OPT_SESSION_PATH, OPT_DUMP_OPTIONS, OPT_DUMP_COMMANDS, @@ -51,7 +50,7 @@ static struct option long_options[] = { {"group", 1, NULL, 'g'}, {"verbose", 0, NULL, 'v'}, {"quiet", 0, NULL, 'q'}, - {"no-sessiond", 0, NULL, OPT_NO_SESSIOND}, + {"no-sessiond", 0, NULL, 'n'}, {"sessiond-path", 1, NULL, OPT_SESSION_PATH}, {"list-options", 0, NULL, OPT_DUMP_OPTIONS}, {"list-commands", 0, NULL, OPT_DUMP_COMMANDS}, @@ -63,7 +62,6 @@ static struct cmd_struct commands[] = { { "list", cmd_list}, { "create", cmd_create}, { "destroy", cmd_destroy}, - { "add-channel", cmd_add_channel}, { "start", cmd_start}, { "stop", cmd_stop}, { "enable-event", cmd_enable_events}, @@ -72,6 +70,7 @@ static struct cmd_struct commands[] = { { "disable-channel", cmd_disable_channels}, { "add-context", cmd_add_context}, { "set-session", cmd_set_session}, + { "version", cmd_version}, { NULL, NULL} /* Array closure */ }; @@ -85,13 +84,12 @@ static void usage(FILE *ofp) fprintf(ofp, " -g, --group NAME Unix tracing group name. (default: tracing)\n"); fprintf(ofp, " -v, --verbose Verbose mode\n"); fprintf(ofp, " -q, --quiet Quiet mode\n"); - fprintf(ofp, " --no-sessiond Don't spawn a session daemon\n"); + fprintf(ofp, " -n, --no-sessiond Don't spawn a session daemon\n"); fprintf(ofp, " --sessiond-path Session daemon full path\n"); fprintf(ofp, " --list-options Simple listing of lttng options\n"); fprintf(ofp, " --list-commands Simple listing of lttng commands\n"); fprintf(ofp, "\n"); fprintf(ofp, "Commands:\n"); - fprintf(ofp, " add-channel Add channel to tracer\n"); fprintf(ofp, " add-context Add context to event or/and channel\n"); fprintf(ofp, " create Create tracing session\n"); fprintf(ofp, " destroy Teardown tracing session\n"); @@ -338,8 +336,9 @@ static int check_sessiond(void) /* Let's rock and roll */ if (pathname == NULL) { - ret = asprintf(&alloc_pathname, "ltt-sessiond"); + ret = asprintf(&alloc_pathname, INSTALL_PATH "/ltt-sessiond"); if (ret < 0) { + perror("asprintf spawn sessiond"); goto end; } pathname = alloc_pathname; @@ -372,7 +371,7 @@ static int parse_args(int argc, char **argv) clean_exit(EXIT_FAILURE); } - while ((opt = getopt_long(argc, argv, "+hvqg:", long_options, NULL)) != -1) { + while ((opt = getopt_long(argc, argv, "+hnvqg:", long_options, NULL)) != -1) { switch (opt) { case 'h': usage(stderr); @@ -386,7 +385,7 @@ static int parse_args(int argc, char **argv) case 'g': lttng_set_tracing_group(optarg); break; - case OPT_NO_SESSIOND: + case 'n': opt_no_sessiond = 1; break; case OPT_SESSION_PATH: @@ -430,13 +429,13 @@ static int parse_args(int argc, char **argv) if (ret < 0) { if (ret == -1) { usage(stderr); - goto error; } else { ERR("%s", lttng_get_readable_code(ret)); } + goto error; } - return ret; + return 0; error: return -1; @@ -463,7 +462,9 @@ int main(int argc, char *argv[]) } ret = parse_args(argc, argv); - clean_exit(ret); + if (ret < 0) { + clean_exit(EXIT_FAILURE); + } return 0; }