diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-05-18 05:10:52 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-05-18 05:10:52 +0200 |
commit | c8513d54d23a36fc84b2f0b96989da3041ad15bc (patch) | |
tree | c1126dbf706ff0a39a6fb6b2d6bf8046d939e8fc | |
parent | 710bd1434709402e557b03a684eb905b619477dc (diff) |
log: never close file descriptors < 3
-rw-r--r-- | src/log.c | 6 | ||||
-rw-r--r-- | src/main.c | 2 |
2 files changed, 5 insertions, 3 deletions
@@ -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 311ece6b57..2e754fe6e0 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; } |