X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fenable_events.c;h=860472fa9c370e8a1d934065d9c2cde54ca0975a;hb=4222434939b65c3abf144866564732d7fd14ed13;hp=b5b46fb36f373fdbd3b8bcc611d0583e68522c4d;hpb=1d76b9222464f9e10128ae867cd56a9317da5d65;p=lttng-tools.git diff --git a/src/bin/lttng/commands/enable_events.c b/src/bin/lttng/commands/enable_events.c index b5b46fb36..860472fa9 100644 --- a/src/bin/lttng/commands/enable_events.c +++ b/src/bin/lttng/commands/enable_events.c @@ -1,19 +1,18 @@ /* * Copyright (C) 2011 - David Goulet * - * 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; only version 2 - * of the License. + * 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. * * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * 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 _GNU_SOURCE @@ -28,6 +27,7 @@ #include #include "../command.h" +#include static char *opt_event_list; static int opt_event_type; @@ -346,7 +346,16 @@ static int enable_events(char *session_name) ret = lttng_enable_event(handle, &ev, channel_name); if (ret < 0) { - goto error; + switch (-ret) { + case LTTCOMM_KERN_EVENT_EXIST: + WARN("Kernel events already enabled (channel %s, session %s)", + channel_name, session_name); + goto end; + default: + ERR("Event %s: %s (channel %s, session %s)", event_name, + lttng_strerror(ret), channel_name, session_name); + break; + } } switch (opt_event_type) { @@ -493,8 +502,17 @@ static int enable_events(char *session_name) ret = lttng_enable_event(handle, &ev, channel_name); if (ret < 0) { - ERR("Event %s: %s (channel %s, session %s)", event_name, - lttng_strerror(ret), channel_name, session_name); + /* Turn ret to positive value to handle the positive error code */ + switch (-ret) { + case LTTCOMM_KERN_EVENT_EXIST: + WARN("Kernel event %s already enabled (channel %s, session %s)", + event_name, channel_name, session_name); + break; + default: + ERR("Event %s: %s (channel %s, session %s)", event_name, + lttng_strerror(ret), channel_name, session_name); + break; + } warn = 1; } else { MSG("%s event %s created in channel %s",