From: Lennart Poettering Date: Tue, 18 May 2010 03:10:52 +0000 (+0200) Subject: log: never close file descriptors < 3 X-Git-Tag: 0.git+20100605+dfd8ee-1~11^2^2~67 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c8513d54d23a36fc84b2f0b96989da3041ad15bc;p=systemd log: never close file descriptors < 3 --- diff --git a/src/log.c b/src/log.c index 5d17955e..7b4db4c7 100644 --- a/src/log.c +++ b/src/log.c @@ -50,8 +50,10 @@ void log_close_console(void) { if (console_fd < 0) return; - if (getpid() == 1 || console_fd != STDERR_FILENO) { - close_nointr_nofail(console_fd); + if (getpid() == 1) { + if (console_fd >= 3) + close_nointr_nofail(console_fd); + console_fd = -1; } } diff --git a/src/main.c b/src/main.c index 311ece6b..2e754fe6 100644 --- a/src/main.c +++ b/src/main.c @@ -175,7 +175,7 @@ static void install_crash_handler(void) { static int make_null_stdio(void) { int null_fd, r; - if ((null_fd = open("/dev/null", O_RDWR)) < 0) { + if ((null_fd = open("/dev/null", O_RDWR|O_NOCTTY)) < 0) { log_error("Failed to open /dev/null: %m"); return -errno; }