static int opt_destroy_all;
static int opt_no_wait;
+#ifdef LTTNG_EMBED_HELP
+static const char help_msg[] =
+#include <lttng-destroy.1.h>
+;
+#endif
+
/* Mi writer */
static struct mi_writer *writer;
{0, 0, 0, 0, 0, 0, 0}
};
-/*
- * usage
- */
-static void usage(FILE *ofp)
-{
- fprintf(ofp, "usage: lttng destroy [NAME] [OPTIONS]\n");
- fprintf(ofp, "\n");
- fprintf(ofp, "Where NAME is an optional session name. If not specified, lttng will\n");
- fprintf(ofp, "get it from the configuration directory (.lttng).\n");
- fprintf(ofp, "\n");
- fprintf(ofp, "Options:\n");
- fprintf(ofp, " -h, --help Show this help\n");
- fprintf(ofp, " -a, --all Destroy all sessions\n");
- fprintf(ofp, " --list-options Simple listing of options\n");
- fprintf(ofp, " -n, --no-wait Don't wait for data availability\n");
- fprintf(ofp, "\n");
-}
-
/*
* destroy_session
*
}
session_was_stopped = ret == -LTTNG_ERR_TRACE_ALREADY_STOPPED;
if (!opt_no_wait) {
- _MSG("Waiting for data availability");
- fflush(stdout);
+ bool printed_wait_msg = false;
+
do {
ret = lttng_data_pending(session->name);
if (ret < 0) {
* returned value indicates availability.
*/
if (ret) {
+ if (!printed_wait_msg) {
+ _MSG("Waiting for data availability");
+ fflush(stdout);
+ }
+
+ printed_wait_msg = true;
usleep(DEFAULT_DATA_AVAILABILITY_WAIT_TIME);
_MSG(".");
fflush(stdout);
}
} while (ret != 0);
- MSG("");
+ if (printed_wait_msg) {
+ MSG("");
+ }
}
if (!session_was_stopped) {
/*
int ret = CMD_SUCCESS , i, command_ret = CMD_SUCCESS, success = 1;
static poptContext pc;
char *session_name = NULL;
+ const char *leftover = NULL;
struct lttng_session *sessions;
int count;
while ((opt = poptGetNextOpt(pc)) != -1) {
switch (opt) {
case OPT_HELP:
- usage(stdout);
+ SHOW_HELP();
break;
case OPT_LIST_OPTIONS:
list_cmd_options(stdout, long_options);
break;
default:
- usage(stderr);
ret = CMD_UNDEFINED;
break;
}
/* Recuperate all sessions for further operation */
count = lttng_list_sessions(&sessions);
if (count < 0) {
- command_ret = count;
+ ERR("%s", lttng_strerror(count));
+ command_ret = CMD_ERROR;
success = 0;
goto mi_closing;
}
}
}
+ leftover = poptGetArg(pc);
+ if (leftover) {
+ ERR("Unknown argument: %s", leftover);
+ ret = CMD_ERROR;
+ success = 0;
+ goto mi_closing;
+ }
+
mi_closing:
/* Mi closing */
if (lttng_opt_mi) {