From 31a7eb86f18b0466681d6fbe80c148f96c551c80 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Mon, 15 Jul 2013 21:34:57 -0400 Subject: systemd: do not output status messages once gettys are running Make Type=idle communication bidirectional: when bootup is finished, the manager, as before, signals idling Type=idle jobs to continue. However, if the boot takes too long, idling jobs signal the manager that they have had enough, wait a tiny bit more, and continue, taking ownership of the console. The manager, when signalled that Type=idle jobs are done, makes a note and will not write to the console anymore. This is a cosmetic issue, but quite noticable, so let's just fix it. Based on Harald Hoyer's patch. https://bugs.freedesktop.org/show_bug.cgi?id=54247 http://unix.stackexchange.com/questions/51805/systemd-messages-after-starting-login/ --- src/core/manager.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/core/manager.h') diff --git a/src/core/manager.h b/src/core/manager.h index 6d5241497d..bd068ac3c9 100644 --- a/src/core/manager.h +++ b/src/core/manager.h @@ -63,7 +63,8 @@ enum WatchType { WATCH_DBUS_WATCH, WATCH_DBUS_TIMEOUT, WATCH_TIME_CHANGE, - WATCH_JOBS_IN_PROGRESS + WATCH_JOBS_IN_PROGRESS, + WATCH_IDLE_PIPE, }; struct Watch { @@ -135,6 +136,7 @@ struct Manager { Watch signal_watch; Watch time_change_watch; Watch jobs_in_progress_watch; + Watch idle_pipe_watch; int epoll_fd; @@ -227,6 +229,7 @@ struct Manager { bool show_status; bool confirm_spawn; + bool no_console_output; ExecOutput default_std_output, default_std_error; @@ -244,7 +247,7 @@ struct Manager { unsigned jobs_in_progress_iteration; /* Type=idle pipes */ - int idle_pipe[2]; + int idle_pipe[4]; char *switch_root; char *switch_root_init; -- cgit v1.2.3-54-g00ecf