Skip to content

Commit

Permalink
core: Always call log_open() in systemd-executor
Browse files Browse the repository at this point in the history
log_setup() will open the console in systemd-executor because it's
not pid 1 and it's not connected to the journal. So if the log target
is later changed to kmsg, we have to reopen the log.

But since log_open() won't open the same log twice, let's just call it
unconditionally since it will be a noop if we try to reopen the same log.

This makes sure that systemd-executor will log to the log target passed
via --log-target= after parsing arguments.
  • Loading branch information
DaanDeMeyer authored and bluca committed Nov 29, 2023
1 parent ee77e0b commit 5c31441
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions src/core/executor.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,11 +207,9 @@ int main(int argc, char *argv[]) {
if (r <= 0)
return r;

/* Now try again if we were told it's fine to use a different target */
if (log_get_target() != LOG_TARGET_KMSG) {
log_set_prohibit_ipc(false);
log_open();
}
/* Now that we know the intended log target, allow IPC and open the final log target. */
log_set_prohibit_ipc(false);
log_open();

/* Initialize lazily. SMACK is just a few operations, but the SELinux is very slow as it requires
* loading the entire database in memory, so we will do it lazily only if it is actually needed, to
Expand Down

0 comments on commit 5c31441

Please sign in to comment.