X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fmain.c;h=6ea615e10bd67435866598632c592d4f3562dc68;hb=51f1a3b9df60b6951e8748961893cb4129cf4832;hp=a9d538c7cd4b5e201bfafc29981e49409cf5081c;hpb=f1e1679499bf3e76127c8812c72a6e9ba69e02e5;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index a9d538c7c..6ea615e10 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -407,7 +407,7 @@ static void stop_threads(void) */ static void cleanup(void) { - int ret, i; + int ret; char *cmd; struct ltt_session *sess, *stmp; @@ -457,34 +457,9 @@ static void cleanup(void) DBG("Unloading kernel modules"); modprobe_remove_lttng_all(); } - - /* - * Closing all pipes used for communication between threads. - */ - for (i = 0; i < 2; i++) { - if (kernel_poll_pipe[i] >= 0) { - ret = close(kernel_poll_pipe[i]); - if (ret) { - PERROR("close"); - } - } - } - for (i = 0; i < 2; i++) { - if (thread_quit_pipe[i] >= 0) { - ret = close(thread_quit_pipe[i]); - if (ret) { - PERROR("close"); - } - } - } - for (i = 0; i < 2; i++) { - if (apps_cmd_pipe[i] >= 0) { - ret = close(apps_cmd_pipe[i]); - if (ret) { - PERROR("close"); - } - } - } + utils_close_pipe(kernel_poll_pipe); + utils_close_pipe(thread_quit_pipe); + utils_close_pipe(apps_cmd_pipe); /* */ DBG("%c[%d;%dm*** assert failed :-) *** ==> %c[%dm%c[%d;%dm" @@ -668,8 +643,7 @@ static int update_kernel_stream(struct consumer_data *consumer_data, int fd) */ if (session->kernel_session->consumer_fds_sent == 1) { ret = kernel_consumer_send_channel_stream(consumer_data, - session->kernel_session->consumer_fd, channel, - session->uid, session->gid); + channel, session->uid, session->gid); if (ret < 0) { goto error; } @@ -4167,58 +4141,6 @@ end: return ret; } -/* - * Create the pipe used to wake up the kernel thread. - * Closed in cleanup(). - */ -static int create_kernel_poll_pipe(void) -{ - int ret, i; - - ret = pipe(kernel_poll_pipe); - if (ret < 0) { - PERROR("kernel poll pipe"); - goto error; - } - - for (i = 0; i < 2; i++) { - ret = fcntl(kernel_poll_pipe[i], F_SETFD, FD_CLOEXEC); - if (ret < 0) { - PERROR("fcntl kernel_poll_pipe"); - goto error; - } - } - -error: - return ret; -} - -/* - * Create the application command pipe to wake thread_manage_apps. - * Closed in cleanup(). - */ -static int create_apps_cmd_pipe(void) -{ - int ret, i; - - ret = pipe(apps_cmd_pipe); - if (ret < 0) { - PERROR("apps cmd pipe"); - goto error; - } - - for (i = 0; i < 2; i++) { - ret = fcntl(apps_cmd_pipe[i], F_SETFD, FD_CLOEXEC); - if (ret < 0) { - PERROR("fcntl apps_cmd_pipe"); - goto error; - } - } - -error: - return ret; -} - /* * Create the lttng run directory needed for all global sockets and pipe. */ @@ -4617,12 +4539,12 @@ int main(int argc, char **argv) } /* Setup the kernel pipe for waking up the kernel thread */ - if ((ret = create_kernel_poll_pipe()) < 0) { + if ((ret = utils_create_pipe_cloexec(kernel_poll_pipe)) < 0) { goto exit; } /* Setup the thread apps communication pipe. */ - if ((ret = create_apps_cmd_pipe()) < 0) { + if ((ret = utils_create_pipe_cloexec(apps_cmd_pipe)) < 0) { goto exit; }