X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fcreate.c;h=4a47d6714f8f9b38f6f48b5f6363bfa1e4e17125;hb=1a2416565951eff19530564c552931cc71866e8c;hp=a5f92f14a31c37ddddce57a925f4f2772cf3e38d;hpb=f86c9f4e9488dfd3eebb33fbec1b6afb1cd02630;p=lttng-tools.git diff --git a/src/bin/lttng/commands/create.c b/src/bin/lttng/commands/create.c index a5f92f14a..4a47d6714 100644 --- a/src/bin/lttng/commands/create.c +++ b/src/bin/lttng/commands/create.c @@ -291,6 +291,12 @@ static int create_session(void) } } + if ((!opt_ctrl_url && opt_data_url) || (opt_ctrl_url && !opt_data_url)) { + ERR("You need both control and data URL."); + ret = CMD_ERROR; + goto error; + } + if (opt_output_path != NULL) { traces_path = utils_expand_path(opt_output_path); if (traces_path == NULL) { @@ -311,6 +317,12 @@ static int create_session(void) } else if (opt_url) { /* Handling URL (-U opt) */ url = opt_url; print_str_url = url; + } else if (opt_data_url && opt_ctrl_url) { + /* + * With both control and data, we'll be setting the consumer URL after + * session creation thus use no URL. + */ + url = NULL; } else if (!opt_no_output) { /* Auto output path */ alloc_path = utils_get_home_dir(); @@ -332,22 +344,14 @@ static int create_session(void) } url = alloc_url; - if (!opt_data_url && !opt_ctrl_url) { - print_str_url = alloc_url + strlen("file://"); - } + print_str_url = alloc_url + strlen("file://"); } else { /* No output means --no-output or --snapshot mode. */ url = NULL; } - if ((!opt_ctrl_url && opt_data_url) || (opt_ctrl_url && !opt_data_url)) { - ERR("You need both control and data URL."); - ret = CMD_ERROR; - goto error; - } - + /* Use default live URL if NO url is/are found. */ if ((opt_live_timer && !opt_url) && (opt_live_timer && !opt_data_url)) { - /* Use default live URL if none is found. */ ret = asprintf(&alloc_url, "net://127.0.0.1"); if (ret < 0) { PERROR("asprintf default live URL");