projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix wrong return value on consumer socket creation
[lttng-tools.git]
/
src
/
bin
/
lttng
/
commands
/
create.c
diff --git
a/src/bin/lttng/commands/create.c
b/src/bin/lttng/commands/create.c
index 99e5daa932511bd0b891a773df2be7dc5399a55d..8052826a245296b0d2d9c310165385a11c5f6ad9 100644
(file)
--- a/
src/bin/lttng/commands/create.c
+++ b/
src/bin/lttng/commands/create.c
@@
-67,7
+67,7
@@
static void usage(FILE *ofp)
*/
static int create_session()
{
*/
static int create_session()
{
- int ret;
+ int ret
, have_name = 0
;
char datetime[16];
char *session_name, *traces_path = NULL, *alloc_path = NULL;
time_t rawtime;
char datetime[16];
char *session_name, *traces_path = NULL, *alloc_path = NULL;
time_t rawtime;
@@
-80,33
+80,37
@@
static int create_session()
/* Auto session name creation */
if (opt_session_name == NULL) {
/* Auto session name creation */
if (opt_session_name == NULL) {
- ret = asprintf(&session_name, "auto
"
);
+ ret = asprintf(&session_name, "auto
-%s", datetime
);
if (ret < 0) {
perror("asprintf session name");
if (ret < 0) {
perror("asprintf session name");
- ret = CMD_ERROR;
goto error;
}
DBG("Auto session name set to %s", session_name);
} else {
session_name = opt_session_name;
goto error;
}
DBG("Auto session name set to %s", session_name);
} else {
session_name = opt_session_name;
+ have_name = 1;
}
/* Auto output path */
if (opt_output_path == NULL) {
alloc_path = strdup(config_get_default_path());
if (alloc_path == NULL) {
}
/* Auto output path */
if (opt_output_path == NULL) {
alloc_path = strdup(config_get_default_path());
if (alloc_path == NULL) {
- ERR("Home path not found.\n
"
-
"Please specify an output path using -o, --output PATH\n
");
+ ERR("Home path not found.\n
\
+
Please specify an output path using -o, --output PATH
");
ret = CMD_FATAL;
goto error;
}
ret = CMD_FATAL;
goto error;
}
- ret = asprintf(&traces_path, "%s/" DEFAULT_TRACE_DIR_NAME
+ if (have_name) {
+ ret = asprintf(&traces_path, "%s/" DEFAULT_TRACE_DIR_NAME
"/%s-%s", alloc_path, session_name, datetime);
"/%s-%s", alloc_path, session_name, datetime);
+ } else {
+ ret = asprintf(&traces_path, "%s/" DEFAULT_TRACE_DIR_NAME
+ "/%s", alloc_path, session_name);
+ }
if (ret < 0) {
perror("asprintf trace dir name");
if (ret < 0) {
perror("asprintf trace dir name");
- ret = CMD_ERROR;
goto error;
}
} else {
goto error;
}
} else {
@@
-115,7
+119,7
@@
static int create_session()
ret = lttng_create_session(session_name, traces_path);
if (ret < 0) {
ret = lttng_create_session(session_name, traces_path);
if (ret < 0) {
- ret = CMD_ERROR;
+ /* Don't set ret so lttng can interpret the sessiond error. */
goto error;
}
goto error;
}
@@
-132,6
+136,10
@@
static int create_session()
ret = CMD_SUCCESS;
error:
ret = CMD_SUCCESS;
error:
+ if (opt_session_name == NULL) {
+ free(session_name);
+ }
+
if (alloc_path) {
free(alloc_path);
}
if (alloc_path) {
free(alloc_path);
}
@@
-175,5
+183,6
@@
int cmd_create(int argc, const char **argv)
ret = create_session();
end:
ret = create_session();
end:
+ poptFreeContext(pc);
return ret;
}
return ret;
}
This page took
0.028695 seconds
and
4
git commands to generate.