X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Flist.c;h=6040d008d09a7b5f55f06dfdb05f7eb42981bf53;hb=ef021732eab101776844ec263468004e287fe6e2;hp=f915a16855f2dccbe2d924344febf77f74bda747;hpb=0c8477c8856d860433b718c4b13704c955ecec68;p=lttng-tools.git diff --git a/src/bin/lttng/commands/list.c b/src/bin/lttng/commands/list.c index f915a1685..6040d008d 100644 --- a/src/bin/lttng/commands/list.c +++ b/src/bin/lttng/commands/list.c @@ -196,11 +196,10 @@ static void print_events(struct lttng_event *event) switch (event->type) { case LTTNG_EVENT_TRACEPOINT: { - MSG("%s%s%s%s%d%s (type: tracepoint)%s", indent6, + MSG("%s%s%s%s%s (type: tracepoint)%s", indent6, event->name, loglevel_string_pre(event->loglevel), loglevel_string(event->loglevel), - event->loglevel, loglevel_string_post(event->loglevel), enabled_string(event->enabled)); break; @@ -247,6 +246,8 @@ static int list_ust_events(void) struct lttng_event *event_list; pid_t cur_pid = 0; + memset(&domain, 0, sizeof(domain)); + DBG("Getting UST tracing events"); domain.type = LTTNG_DOMAIN_UST; @@ -259,6 +260,7 @@ static int list_ust_events(void) size = lttng_list_tracepoints(handle, &event_list); if (size < 0) { ERR("Unable to list UST events"); + lttng_destroy_handle(handle); return size; } @@ -279,10 +281,12 @@ static int list_ust_events(void) MSG(""); free(event_list); + lttng_destroy_handle(handle); return CMD_SUCCESS; error: + lttng_destroy_handle(handle); return -1; } @@ -296,6 +300,8 @@ static int list_kernel_events(void) struct lttng_handle *handle; struct lttng_event *event_list; + memset(&domain, 0, sizeof(domain)); + DBG("Getting kernel tracing events"); domain.type = LTTNG_DOMAIN_KERNEL; @@ -308,6 +314,7 @@ static int list_kernel_events(void) size = lttng_list_tracepoints(handle, &event_list); if (size < 0) { ERR("Unable to list kernel events"); + lttng_destroy_handle(handle); return size; } @@ -321,9 +328,11 @@ static int list_kernel_events(void) free(event_list); + lttng_destroy_handle(handle); return CMD_SUCCESS; error: + lttng_destroy_handle(handle); return -1; } @@ -480,7 +489,8 @@ static int list_sessions(const char *session_name) continue; } - MSG(" %d) %s (%s)%s", i + 1, sessions[i].name, sessions[i].path, active_string(sessions[i].enabled)); + MSG(" %d) %s (%s)%s", i + 1, sessions[i].name, sessions[i].path, + active_string(sessions[i].enabled)); if (session_found) { break; @@ -490,7 +500,9 @@ static int list_sessions(const char *session_name) free(sessions); if (!session_found && session_name != NULL) { - ERR("Session %s not found", session_name); + ERR("Session '%s' not found", session_name); + ret = CMD_ERROR; + goto error; } if (session_name == NULL) { @@ -554,6 +566,8 @@ int cmd_list(int argc, const char **argv) struct lttng_domain domain; struct lttng_domain *domains = NULL; + memset(&domain, 0, sizeof(domain)); + if (argc < 1) { usage(stderr); ret = CMD_ERROR; @@ -590,6 +604,10 @@ int cmd_list(int argc, const char **argv) } else if (opt_userspace) { DBG2("Listing userspace global domain"); domain.type = LTTNG_DOMAIN_UST; + } else { + usage(stderr); + ret = CMD_UNDEFINED; + goto end; } handle = lttng_create_handle(session_name, &domain); @@ -601,39 +619,32 @@ int cmd_list(int argc, const char **argv) if (session_name == NULL) { if (!opt_kernel && !opt_userspace) { ret = list_sessions(NULL); - if (ret < 0) { - ret = CMD_ERROR; + if (ret != 0) { goto end; } } if (opt_kernel) { ret = list_kernel_events(); if (ret < 0) { - ret = CMD_ERROR; goto end; } } if (opt_userspace) { ret = list_ust_events(); if (ret < 0) { - ret = CMD_ERROR; goto end; } } } else { /* List session attributes */ ret = list_sessions(session_name); - if (ret < 0) { - ret = CMD_ERROR; + if (ret != 0) { goto end; } /* Domain listing */ if (opt_domain) { ret = list_domains(session_name); - if (ret < 0) { - ret = CMD_ERROR; - } goto end; } @@ -641,14 +652,13 @@ int cmd_list(int argc, const char **argv) /* Channel listing */ ret = list_channels(opt_channel); if (ret < 0) { - ret = CMD_ERROR; goto end; } } else { /* We want all domain(s) */ nb_domain = lttng_list_domains(session_name, &domains); if (nb_domain < 0) { - ret = CMD_ERROR; + ret = nb_domain; goto end; } @@ -676,7 +686,6 @@ int cmd_list(int argc, const char **argv) ret = list_channels(opt_channel); if (ret < 0) { - ret = CMD_ERROR; goto end; } }