#include "agent.h"
#include "ht-cleanup.h"
#include "sessiond-config.h"
+#include "clear.h"
static const char *help_msg =
#ifdef LTTNG_EMBED_HELP
*/
utils_close_pipe(thread_quit_pipe);
- /*
- * If config.pid_file_path.value is undefined, the default file will be
- * wiped when removing the rundir.
- */
- if (config.pid_file_path.value) {
- ret = remove(config.pid_file_path.value);
- if (ret < 0) {
- PERROR("remove pidfile %s", config.pid_file_path.value);
- }
+ ret = remove(config.pid_file_path.value);
+ if (ret < 0) {
+ PERROR("remove pidfile %s", config.pid_file_path.value);
}
DBG("Removing sessiond and consumerd content of directory %s",
} else if (stat(INSTALL_BIN_PATH "/" DEFAULT_CONSUMERD_FILE, &st) == 0) {
DBG3("Found location #2");
consumer_to_use = INSTALL_BIN_PATH "/" DEFAULT_CONSUMERD_FILE;
- } else if (stat(config.consumerd32_bin_path.value, &st) == 0) {
+ } else if (config.consumerd32_bin_path.value &&
+ stat(config.consumerd32_bin_path.value, &st) == 0) {
DBG3("Found location #3");
consumer_to_use = config.consumerd32_bin_path.value;
} else {
case LTTNG_REGENERATE_STATEDUMP:
case LTTNG_REGISTER_TRIGGER:
case LTTNG_UNREGISTER_TRIGGER:
+ case LTTNG_CLEAR_SESSION:
need_domain = 0;
break;
default:
notification_thread_handle);
break;
}
+ case LTTNG_CLEAR_SESSION:
+ {
+ ret = cmd_clear_session(cmd_ctx->session);
+ if (ret != LTTNG_OK) {
+ goto error;
+ }
+ break;
+ }
default:
ret = LTTNG_ERR_UND;
break;
goto exit_set_signal_handler;
}
+ /*
+ * Init config from environment variables.
+ * Command line option override env configuration per-doc. Do env first.
+ */
+ sessiond_config_apply_env_config(&config);
+
/*
* Parse arguments and load the daemon configuration file.
*
goto exit_options;
}
- /* Init config from environment variables. */
- sessiond_config_apply_env_config(&config);
-
/*
* Resolve all paths received as arguments, configuration option, or
* through environment variable as absolute paths. This is necessary