X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fenable_events.c;h=c15edf5fd3deaaeeba49fc86345180475588d288;hb=880e5397bf7966caba19ddb1dc0e0de2a982569c;hp=ee93127049913aa60d76195b1bda3d03b90a82d8;hpb=fbdb7e15cbe6235cadaaa7c1b2213f128e747e47;p=lttng-tools.git diff --git a/src/bin/lttng/commands/enable_events.c b/src/bin/lttng/commands/enable_events.c index ee9312704..c15edf5fd 100644 --- a/src/bin/lttng/commands/enable_events.c +++ b/src/bin/lttng/commands/enable_events.c @@ -422,7 +422,10 @@ char *print_exclusions(int count, char **names) /* add length of preamble + one for NUL - one for last (missing) comma */ length += strlen(preamble); - ret = malloc(length); + ret = zmalloc(length); + if (!ret) { + return NULL; + } strncpy(ret, preamble, length); for (i = 0; i < count; i++) { strcat(ret, names[i]); @@ -630,6 +633,16 @@ static int enable_events(char *session_name) WARN("Kernel events already enabled (channel %s, session %s)", print_channel_name(channel_name), session_name); break; + case LTTNG_ERR_TRACE_ALREADY_STARTED: + { + const char *msg = "The command tried to enable an event in a new domain for a session that has already been started once."; + ERR("Events: %s (channel %s, session %s)", + msg, + print_channel_name(channel_name), + session_name); + ret = CMD_ERROR; + break; + } default: ERR("Events: %s (channel %s, session %s)", lttng_strerror(ret), @@ -703,6 +716,16 @@ static int enable_events(char *session_name) " (channel %s, session %s)", print_channel_name(channel_name), session_name); break; + case LTTNG_ERR_TRACE_ALREADY_STARTED: + { + const char *msg = "The command tried to enable an event in a new domain for a session that has already been started once."; + ERR("All events: %s (channel %s, session %s, filter \'%s\')", + msg, + print_channel_name(channel_name), + session_name, opt_filter); + ret = CMD_ERROR; + break; + } default: ERR("All events: %s (channel %s, session %s, filter \'%s\')", lttng_strerror(ret), @@ -878,7 +901,19 @@ static int enable_events(char *session_name) event_name, exclusion_string, print_channel_name(channel_name), session_name); + warn = 1; break; + case LTTNG_ERR_TRACE_ALREADY_STARTED: + { + const char *msg = "The command tried to enable an event in a new domain for a session that has already been started once."; + ERR("Event %s%s: %s (channel %s, session %s)", event_name, + exclusion_string, + msg, + print_channel_name(channel_name), + session_name); + ret = CMD_ERROR; + break; + } default: ERR("Event %s%s: %s (channel %s, session %s)", event_name, exclusion_string, @@ -887,9 +922,9 @@ static int enable_events(char *session_name) ? print_raw_channel_name(channel_name) : print_channel_name(channel_name), session_name); + warn = 1; break; } - warn = 1; } else { MSG("%s event %s%s created in channel %s", get_domain_str(dom.type), event_name, @@ -915,6 +950,17 @@ static int enable_events(char *session_name) exclusion_string, print_channel_name(channel_name), session_name); break; + case LTTNG_ERR_TRACE_ALREADY_STARTED: + { + const char *msg = "The command tried to enable an event in a new domain for a session that has already been started once."; + ERR("Event %s%s: %s (channel %s, session %s, filter \'%s\')", ev.name, + exclusion_string, + msg, + print_channel_name(channel_name), + session_name, opt_filter); + ret = CMD_ERROR; + break; + } default: ERR("Event %s%s: %s (channel %s, session %s, filter \'%s\')", ev.name, exclusion_string,