diff options
Diffstat (limited to 'src')
-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; } |