X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Futils.c;h=d503665a4fdb1149d68b00b79fcab14ed948bd4d;hp=d0c8dd16f62571618db8118759d7a8ee4e650a76;hb=6f94560a050962daad560dac2823bd97b0b1bf98;hpb=ef599319218f03ff160778e577cd8389a165f47c diff --git a/src/bin/lttng-sessiond/utils.c b/src/bin/lttng-sessiond/utils.c index d0c8dd16f..d503665a4 100644 --- a/src/bin/lttng-sessiond/utils.c +++ b/src/bin/lttng-sessiond/utils.c @@ -17,12 +17,7 @@ */ #define _GNU_SOURCE -#include -#include -#include -#include #include -#include #include #include @@ -36,7 +31,9 @@ int notify_thread_pipe(int wpipe) { int ret; - ret = write(wpipe, "!", 1); + do { + ret = write(wpipe, "!", 1); + } while (ret < 0 && errno == EINTR); if (ret < 0) { PERROR("write poll pipe"); } @@ -53,77 +50,3 @@ const char *get_home_dir(void) { return ((const char *) getenv("HOME")); } - -/* - * Create a pipe in dst. - */ -int utils_create_pipe(int *dst) -{ - int ret; - - if (dst == NULL) { - return -1; - } - - ret = pipe(dst); - if (ret < 0) { - PERROR("create pipe"); - } - - return ret; -} - -/* - * Create pipe and set CLOEXEC flag to both fd. - * - * Make sure the pipe opened by this function are closed at some point. Use - * utils_close_pipe(). - */ -int utils_create_pipe_cloexec(int *dst) -{ - int ret, i; - - if (dst == NULL) { - return -1; - } - - ret = utils_create_pipe(dst); - if (ret < 0) { - goto error; - } - - for (i = 0; i < 2; i++) { - ret = fcntl(dst[i], F_SETFD, FD_CLOEXEC); - if (ret < 0) { - PERROR("fcntl pipe cloexec"); - goto error; - } - } - -error: - return ret; -} - -/* - * Close both read and write side of the pipe. - */ -void utils_close_pipe(int *src) -{ - int i, ret; - - if (src == NULL) { - return; - } - - for (i = 0; i < 2; i++) { - /* Safety check */ - if (src[i] < 0) { - continue; - } - - ret = close(src[i]); - if (ret) { - PERROR("close pipe"); - } - } -}