From: Lennart Poettering Date: Wed, 18 Dec 2013 04:07:34 +0000 (+0100) Subject: log: don't reopen /dev/console each time we call log_open() X-Git-Tag: v209~832 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=99f098257f5e4135609edc3df965ebf27975df18 log: don't reopen /dev/console each time we call log_open() Instead, force reopen it only if we really really have to. --- diff --git a/src/core/main.c b/src/core/main.c index eb5413ef3..e00d0702f 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -1328,6 +1328,7 @@ int main(int argc, char *argv[]) { /* Running inside a container, as PID 1 */ arg_running_as = SYSTEMD_SYSTEM; log_set_target(LOG_TARGET_CONSOLE); + log_close_console(); /* force reopen of /dev/console */ log_open(); /* For the later on, see above... */ diff --git a/src/core/shutdown.c b/src/core/shutdown.c index 31129b769..8420a6753 100644 --- a/src/core/shutdown.c +++ b/src/core/shutdown.c @@ -155,6 +155,7 @@ int main(int argc, char *argv[]) { log_parse_environment(); log_set_target(LOG_TARGET_CONSOLE); /* syslog will die if not gone yet */ + log_close_console(); /* force reopen of /dev/console */ log_open(); umask(0022); diff --git a/src/shared/log.c b/src/shared/log.c index 2517f5d78..85ed6ecb6 100644 --- a/src/shared/log.c +++ b/src/shared/log.c @@ -272,8 +272,6 @@ int log_open(void) { log_close_journal(); log_close_syslog(); - /* Get the real /dev/console if we are PID=1, hence reopen */ - log_close_console(); return log_open_console(); }