projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix filter parser segmentation fault with bison 3.0
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
main.c
diff --git
a/src/bin/lttng-sessiond/main.c
b/src/bin/lttng-sessiond/main.c
index 7da7faba0b984f1691d9adb9f8063f64696f41f1..06a09fbb93fe6f511d9678b4c20d68051763fb00 100644
(file)
--- a/
src/bin/lttng-sessiond/main.c
+++ b/
src/bin/lttng-sessiond/main.c
@@
-406,13
+406,13
@@
static void close_consumer_sockets(void)
if (ustconsumer32_data.err_sock >= 0) {
ret = close(ustconsumer32_data.err_sock);
if (ret < 0) {
if (ustconsumer32_data.err_sock >= 0) {
ret = close(ustconsumer32_data.err_sock);
if (ret < 0) {
- PERROR("UST consumer32 err_sock close");
+ PERROR("UST consumer
d
32 err_sock close");
}
}
if (ustconsumer64_data.err_sock >= 0) {
ret = close(ustconsumer64_data.err_sock);
if (ret < 0) {
}
}
if (ustconsumer64_data.err_sock >= 0) {
ret = close(ustconsumer64_data.err_sock);
if (ret < 0) {
- PERROR("UST consumer64 err_sock close");
+ PERROR("UST consumer
d
64 err_sock close");
}
}
if (kconsumer_data.cmd_sock >= 0) {
}
}
if (kconsumer_data.cmd_sock >= 0) {
@@
-424,13
+424,13
@@
static void close_consumer_sockets(void)
if (ustconsumer32_data.cmd_sock >= 0) {
ret = close(ustconsumer32_data.cmd_sock);
if (ret < 0) {
if (ustconsumer32_data.cmd_sock >= 0) {
ret = close(ustconsumer32_data.cmd_sock);
if (ret < 0) {
- PERROR("UST consumer32 cmd_sock close");
+ PERROR("UST consumer
d
32 cmd_sock close");
}
}
if (ustconsumer64_data.cmd_sock >= 0) {
ret = close(ustconsumer64_data.cmd_sock);
if (ret < 0) {
}
}
if (ustconsumer64_data.cmd_sock >= 0) {
ret = close(ustconsumer64_data.cmd_sock);
if (ret < 0) {
- PERROR("UST consumer64 cmd_sock close");
+ PERROR("UST consumer
d
64 cmd_sock close");
}
}
}
}
}
}
@@
-1148,12
+1148,14
@@
error:
if (ret) {
PERROR("close");
}
if (ret) {
PERROR("close");
}
+ consumer_data->err_sock = -1;
}
if (consumer_data->cmd_sock >= 0) {
ret = close(consumer_data->cmd_sock);
if (ret) {
PERROR("close");
}
}
if (consumer_data->cmd_sock >= 0) {
ret = close(consumer_data->cmd_sock);
if (ret) {
PERROR("close");
}
+ consumer_data->cmd_sock = -1;
}
if (consumer_data->metadata_sock.fd >= 0) {
ret = close(consumer_data->metadata_sock.fd);
}
if (consumer_data->metadata_sock.fd >= 0) {
ret = close(consumer_data->metadata_sock.fd);
@@
-3951,12
+3953,12
@@
static int set_permissions(char *rundir)
ret = allowed_group();
if (ret < 0) {
WARN("No tracing group detected");
ret = allowed_group();
if (ret < 0) {
WARN("No tracing group detected");
- ret = 0;
- goto end;
+ /* Setting gid to 0 if no tracing group is found */
+ gid = 0;
+ } else {
+ gid = ret;
}
}
- gid = ret;
-
/* Set lttng run dir */
ret = chown(rundir, 0, gid);
if (ret < 0) {
/* Set lttng run dir */
ret = chown(rundir, 0, gid);
if (ret < 0) {
@@
-3964,7
+3966,7
@@
static int set_permissions(char *rundir)
PERROR("chown");
}
PERROR("chown");
}
- /* Ensure tracing group can search the run dir */
+ /* Ensure
all applications and
tracing group can search the run dir */
ret = chmod(rundir, S_IRWXU | S_IXGRP | S_IXOTH);
if (ret < 0) {
ERR("Unable to set permissions on %s", rundir);
ret = chmod(rundir, S_IRWXU | S_IXGRP | S_IXOTH);
if (ret < 0) {
ERR("Unable to set permissions on %s", rundir);
@@
-4001,7
+4003,6
@@
static int set_permissions(char *rundir)
DBG("All permissions are set");
DBG("All permissions are set");
-end:
return ret;
}
return ret;
}
@@
-4075,6
+4076,16
@@
static int set_consumer_sockets(struct consumer_data *consumer_data,
goto error;
}
goto error;
}
+ /*
+ * Set the CLOEXEC flag. Return code is useless because either way, the
+ * show must go on.
+ */
+ ret = utils_set_fd_cloexec(consumer_data->err_sock);
+ if (ret < 0) {
+ PERROR("utils_set_fd_cloexec");
+ /* continue anyway */
+ }
+
/* File permission MUST be 660 */
ret = chmod(consumer_data->err_unix_sock_path,
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
/* File permission MUST be 660 */
ret = chmod(consumer_data->err_unix_sock_path,
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
This page took
0.034696 seconds
and
4
git commands to generate.