summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2013-12-18 05:07:34 +0100
committerLennart Poettering <lennart@poettering.net>2013-12-18 18:21:27 +0100
commit99f098257f5e4135609edc3df965ebf27975df18 (patch)
tree089806a90a2d3febd1b9b527585ae86f06afe10b
parentbf108e5541e2a3cbc6f0c59e93665eceb7a5ce05 (diff)
log: don't reopen /dev/console each time we call log_open()
Instead, force reopen it only if we really really have to.
-rw-r--r--src/core/main.c1
-rw-r--r--src/core/shutdown.c1
-rw-r--r--src/shared/log.c2
3 files changed, 2 insertions, 2 deletions
diff --git a/src/core/main.c b/src/core/main.c
index eb5413ef3d..e00d0702fe 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 31129b7697..8420a67535 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 2517f5d780..85ed6ecb67 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();
}