summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-09-30 16:17:12 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2020-12-08 18:08:31 +0100
commit6f58e84284499442756d3a3891d63f941df12120 (patch)
tree4a86d43b83b66c1deb2debf11904d18599e59487
parentd08f2ff8a3caa907e83ee370c8ff7e96c7bed756 (diff)
downloadsystemd-6f58e84284499442756d3a3891d63f941df12120.tar.gz
log: normalize log target condition check
THis doesn't change the condition's logic at all, but is an attempt to make things a bit more readable: instead of checking log_target != LOG_TARGET_AUTO let's actually list the targets where we want to consider journal/syslog/kmsg, to make things a bit less confusing. After all the message here is not to avoid them if LOG_TARGET_AUTO is set, but to definitely do them in the other cases. (cherry picked from commit ef9bddb79984aa1b9d605d44b8c0890e8289bef1)
-rw-r--r--src/basic/log.c51
1 files changed, 31 insertions, 20 deletions
diff --git a/src/basic/log.c b/src/basic/log.c
index c6fe203808..ebfe8e6ba6 100644
--- a/src/basic/log.c
+++ b/src/basic/log.c
@@ -265,28 +265,39 @@ int log_open(void) {
return 0;
}
- if (log_target != LOG_TARGET_AUTO || getpid_cached() == 1 || stderr_is_journal()) {
-
- if (!prohibit_ipc &&
- IN_SET(log_target, LOG_TARGET_AUTO,
- LOG_TARGET_JOURNAL_OR_KMSG,
- LOG_TARGET_JOURNAL)) {
- r = log_open_journal();
- if (r >= 0) {
- log_close_syslog();
- log_close_console();
- return r;
+ if (getpid_cached() == 1 ||
+ stderr_is_journal() ||
+ IN_SET(log_target,
+ LOG_TARGET_KMSG,
+ LOG_TARGET_JOURNAL,
+ LOG_TARGET_JOURNAL_OR_KMSG,
+ LOG_TARGET_SYSLOG,
+ LOG_TARGET_SYSLOG_OR_KMSG)) {
+
+ if (!prohibit_ipc) {
+ if (IN_SET(log_target,
+ LOG_TARGET_AUTO,
+ LOG_TARGET_JOURNAL_OR_KMSG,
+ LOG_TARGET_JOURNAL)) {
+
+ r = log_open_journal();
+ if (r >= 0) {
+ log_close_syslog();
+ log_close_console();
+ return r;
+ }
}
- }
- if (!prohibit_ipc &&
- IN_SET(log_target, LOG_TARGET_SYSLOG_OR_KMSG,
- LOG_TARGET_SYSLOG)) {
- r = log_open_syslog();
- if (r >= 0) {
- log_close_journal();
- log_close_console();
- return r;
+ if (IN_SET(log_target,
+ LOG_TARGET_SYSLOG_OR_KMSG,
+ LOG_TARGET_SYSLOG)) {
+
+ r = log_open_syslog();
+ if (r >= 0) {
+ log_close_journal();
+ log_close_console();
+ return r;
+ }
}
}