From 5a69973ff241dcefbd3bd12827dd43088e75ed4f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 24 Jan 2018 19:52:14 +0100 Subject: [PATCH] manager: add some explanatory comments to manager_dispatch_idle_pipe_fd() --- src/core/manager.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/core/manager.c b/src/core/manager.c index 4130b24972..f764fb5887 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -2449,8 +2449,15 @@ static int manager_dispatch_idle_pipe_fd(sd_event_source *source, int fd, uint32 assert(m); assert(m->idle_pipe[2] == fd); + /* There's at least one Type=idle child that just gave up on us waiting for the boot process to complete. Let's + * now turn off any further console output if there's at least one service that needs console access, so that + * from now on our own output should not spill into that service's output anymore. After all, we support + * Type=idle only to beautify console output and it generally is set on services that want to own the console + * exclusively without our interference. */ m->no_console_output = m->n_on_console > 0; + /* Acknowledge the child's request, and let all all other children know too that they shouldn't wait any longer + * by closing the pipes towards them, which is what they are waiting for. */ manager_close_idle_pipe(m); return 0;