X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fdestroy.c;h=f74bf515c79ae44c7668e8cd674156ce24159da0;hp=50d5bb441a4476e8624a3cbfba095adaf2724d1a;hb=890d8fe47755c3bad936389cf48ffa141cff41c9;hpb=65f25c661e03316f5f0cb4a035df518c875c17f8 diff --git a/src/bin/lttng/commands/destroy.c b/src/bin/lttng/commands/destroy.c index 50d5bb441..f74bf515c 100644 --- a/src/bin/lttng/commands/destroy.c +++ b/src/bin/lttng/commands/destroy.c @@ -15,7 +15,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define _GNU_SOURCE +#define _LGPL_SOURCE #include #include #include @@ -28,6 +28,7 @@ #include #include +#include static char *opt_session_name; static int opt_destroy_all; @@ -74,6 +75,7 @@ static void usage(FILE *ofp) static int destroy_session(struct lttng_session *session) { int ret; + char *session_name = NULL; ret = lttng_destroy_session(session->name); if (ret < 0) { @@ -89,7 +91,11 @@ static int destroy_session(struct lttng_session *session) } MSG("Session %s destroyed", session->name); - config_destroy_default(); + + session_name = get_session_name_quiet(); + if (session_name && !strncmp(session->name, session_name, NAME_MAX)) { + config_destroy_default(); + } if (lttng_opt_mi) { ret = mi_lttng_session(writer, session, 0); @@ -101,6 +107,7 @@ static int destroy_session(struct lttng_session *session) ret = CMD_SUCCESS; error: + free(session_name); return ret; } @@ -212,7 +219,7 @@ int cmd_destroy(int argc, const char **argv) } else { opt_session_name = (char *) poptGetArg(pc); - if (opt_session_name == NULL) { + if (!opt_session_name) { /* No session name specified, lookup default */ session_name = get_session_name(); if (session_name == NULL) {