#include "traceable-app.h"
#include "lttng-kconsumerd.h"
#include "libustctl.h"
+#include "utils.h"
/*
* TODO:
/* Create all channel directories */
cds_list_for_each_entry(chan, &session->channel_list.head, list) {
DBG("Creating trace directory at %s", chan->pathname);
- // TODO: recursive create dir
- ret = mkdir(chan->pathname, S_IRWXU | S_IRWXG );
+ ret = mkdir_recursive(chan->pathname, S_IRWXU | S_IRWXG );
if (ret < 0) {
if (ret != EEXIST) {
- perror("mkdir trace path");
- ret = -errno;
+ ERR("Trace directory creation error");
goto error;
}
}
chan->attr.num_subbuf = DEFAULT_CHANNEL_SUBBUF_NUM;
chan->attr.switch_timer_interval = DEFAULT_CHANNEL_SWITCH_TIMER;
chan->attr.read_timer_interval = DEFAULT_CHANNEL_READ_TIMER;
- chan->attr.output = DEFAULT_CHANNEL_OUTPUT;
+ chan->attr.output = DEFAULT_KERNEL_CHANNEL_OUTPUT;
error:
return chan;
DBG("Creating default kernel channel %s", DEFAULT_CHANNEL_NAME);
- ret = kernel_create_channel(session->kernel_session, chan);
+ ret = kernel_create_channel(session->kernel_session, chan, session->path);
if (ret < 0) {
ret = LTTCOMM_KERN_CHAN_FAIL;
goto error;
DBG("Creating kernel channel");
ret = kernel_create_channel(cmd_ctx->session->kernel_session,
- &cmd_ctx->lsm->u.channel.chan);
+ &cmd_ctx->lsm->u.channel.chan, cmd_ctx->session->path);
if (ret < 0) {
ret = LTTCOMM_KERN_CHAN_FAIL;
goto error;
return ret;
}
-/*
- * get_home_dir
- *
- * Return pointer to home directory path using
- * the env variable HOME.
- *
- * Default : /tmp
- */
-static const char *get_home_dir(void)
-{
- const char *home_path;
-
- if ((home_path = (const char *) getenv("HOME")) == NULL) {
- home_path = default_home_dir;
- }
-
- return home_path;
-}
-
/*
* set_permissions
*
{
int ret = 0;
void *status;
+ const char *home_path;
/* Parse arguments */
progname = argv[0];
/* Set ulimit for open files */
set_ulimit();
} else {
+ home_path = get_home_dir();
+ if (home_path == NULL) {
+ ERR("Can't get HOME directory for sockets creation.\n \
+ Please specify --socket PATH.");
+ goto error;
+ }
+
if (strlen(apps_unix_sock_path) == 0) {
snprintf(apps_unix_sock_path, PATH_MAX,
- DEFAULT_HOME_APPS_UNIX_SOCK, get_home_dir());
+ DEFAULT_HOME_APPS_UNIX_SOCK, home_path);
}
/* Set the cli tool unix socket path */
if (strlen(client_unix_sock_path) == 0) {
snprintf(client_unix_sock_path, PATH_MAX,
- DEFAULT_HOME_CLIENT_UNIX_SOCK, get_home_dir());
+ DEFAULT_HOME_CLIENT_UNIX_SOCK, home_path);
}
}