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:
committed by
Luca Boccassi
parent
ee77e0b2de
commit
5c314412f0
+3
-5
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user