chiark / gitweb /
log: don't reopen /dev/console each time we call log_open()
authorLennart Poettering <lennart@poettering.net>
Wed, 18 Dec 2013 04:07:34 +0000 (05:07 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 18 Dec 2013 17:21:27 +0000 (18:21 +0100)
Instead, force reopen it only if we really really have to.

src/core/main.c
src/core/shutdown.c
src/shared/log.c

index eb5413ef3d38f18d9419388c987de17c3c5bb026..e00d0702fe2892dbe47ae84ef0cf22d00a3ff341 100644 (file)
@@ -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... */
index 31129b7697edf01ae5de5787b7c5b75816fe4e64..8420a6753552ae7302566fcc0bab3c9df115a53e 100644 (file)
@@ -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);
index 2517f5d780d406bfc030fae123a09c99a8daae35..85ed6ecb67fef53f80a307c51ff7f845fa8ebdf9 100644 (file)
@@ -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();
 }