summaryrefslogtreecommitdiff
path: root/src/core/transaction.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-07-15 21:34:57 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-07-15 21:34:57 -0400
commit31a7eb86f18b0466681d6fbe80c148f96c551c80 (patch)
tree9ba2b0745cbf6a90d32b6c918979a52a8e1260d1 /src/core/transaction.c
parent77a9e8de6572db6ba5ca49023937b67fc835f356 (diff)
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/
Diffstat (limited to 'src/core/transaction.c')
-rw-r--r--src/core/transaction.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/transaction.c b/src/core/transaction.c
index 5259a5b7ca..27efef7cc6 100644
--- a/src/core/transaction.c
+++ b/src/core/transaction.c
@@ -733,8 +733,11 @@ int transaction_activate(Transaction *tr, Manager *m, JobMode mode, DBusError *e
* feature for cosmetics, not actually useful for
* anything beyond that. */
- if (m->idle_pipe[0] < 0 && m->idle_pipe[1] < 0)
+ if (m->idle_pipe[0] < 0 && m->idle_pipe[1] < 0 &&
+ m->idle_pipe[2] < 0 && m->idle_pipe[3] < 0) {
pipe2(m->idle_pipe, O_NONBLOCK|O_CLOEXEC);
+ pipe2(m->idle_pipe + 2, O_NONBLOCK|O_CLOEXEC);
+ }
}
return 0;