diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-07-15 21:34:57 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2013-07-15 21:34:57 -0400 |
commit | 31a7eb86f18b0466681d6fbe80c148f96c551c80 (patch) | |
tree | 9ba2b0745cbf6a90d32b6c918979a52a8e1260d1 /src/core/transaction.c | |
parent | 77a9e8de6572db6ba5ca49023937b67fc835f356 (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.c | 5 |
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; |