core: Always call log_open() in systemd-executor

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.
This commit is contained in:
Daan De Meyer
2023-11-29 22:56:50 +00:00
committed by Luca Boccassi
parent ee77e0b2de
commit 5c314412f0
+3 -5
View File
@@ -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