From f798e9bb0bc667d07283f32d1d83b6223d375a03 Mon Sep 17 00:00:00 2001 From: Taiyu Date: Thu, 13 Aug 2015 00:24:03 -0700 Subject: moved fd modifying stuff to log.c --- sway/log.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sway/log.c') diff --git a/sway/log.c b/sway/log.c index 188461eb..b9048b34 100644 --- a/sway/log.c +++ b/sway/log.c @@ -2,6 +2,8 @@ #include #include #include +#include +#include int colored = 1; int v = 0; @@ -15,6 +17,16 @@ const char *verbosity_colors[] = { void init_log(int verbosity) { v = verbosity; + /* set FD_CLOEXEC flag to prevent programs called with exec to write into + * logs */ + int i, flag; + int fd[] = { STDOUT_FILENO, STDIN_FILENO, STDERR_FILENO }; + for (i = 0; i < 3; ++i) { + flag = fcntl(fd[i], F_GETFD); + if (flag != -1) { + fcntl(fd[i], F_SETFD, flag | FD_CLOEXEC); + } + } } void sway_log_colors(int mode) { -- cgit v1.2.3