X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fmain.c;h=048c1e16d83feb66ff4c499470189e655e163727;hb=5288612f2dc35805e861d0648bf75304c91bfeee;hp=a117a1f1cfc8dd12cd02049455dbe82384825e04;hpb=e975f9f8a83cb33d228739ac3c3cebda10cb0598;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index a117a1f1c..048c1e16d 100644 --- 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) { - PERROR("UST consumer32 err_sock close"); + PERROR("UST consumerd32 err_sock close"); } } if (ustconsumer64_data.err_sock >= 0) { ret = close(ustconsumer64_data.err_sock); if (ret < 0) { - PERROR("UST consumer64 err_sock close"); + PERROR("UST consumerd64 err_sock close"); } } 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) { - PERROR("UST consumer32 cmd_sock close"); + PERROR("UST consumerd32 cmd_sock close"); } } if (ustconsumer64_data.cmd_sock >= 0) { ret = close(ustconsumer64_data.cmd_sock); if (ret < 0) { - PERROR("UST consumer64 cmd_sock close"); + PERROR("UST consumerd64 cmd_sock close"); } } } @@ -1149,12 +1149,14 @@ error: 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"); } + consumer_data->cmd_sock = -1; } if (consumer_data->metadata_sock.fd >= 0) { ret = close(consumer_data->metadata_sock.fd); @@ -4143,6 +4145,16 @@ static int set_consumer_sockets(struct consumer_data *consumer_data, 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);