From e38b8a407aef9814627207aa5d9a648ab9682a32 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 22 Feb 2018 00:31:36 +0100 Subject: [PATCH] log: only open kmsg on fallback if we actually want to use it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, we'd try to open kmsg on failure of the journal/syslog even if no automatic fallback to kmsg was requested — and we wouldn't even use the open connection afterwards... --- src/basic/log.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/basic/log.c b/src/basic/log.c index b3751299d06..88aea4e1da8 100644 --- a/src/basic/log.c +++ b/src/basic/log.c @@ -613,22 +613,16 @@ int log_dispatch_internal( LOG_TARGET_JOURNAL)) { k = write_to_journal(level, error, file, line, func, object_field, object, extra_field, extra, buffer); - if (k < 0) { - if (k != -EAGAIN) - log_close_journal(); - log_open_kmsg(); - } + if (k < 0 && k != -EAGAIN) + log_close_journal(); } if (IN_SET(log_target, LOG_TARGET_SYSLOG_OR_KMSG, LOG_TARGET_SYSLOG)) { k = write_to_syslog(level, error, file, line, func, buffer); - if (k < 0) { - if (k != -EAGAIN) - log_close_syslog(); - log_open_kmsg(); - } + if (k < 0 && k != -EAGAIN) + log_close_syslog(); } if (k <= 0 && @@ -637,6 +631,9 @@ int log_dispatch_internal( LOG_TARGET_JOURNAL_OR_KMSG, LOG_TARGET_KMSG)) { + if (k < 0) + log_open_kmsg(); + k = write_to_kmsg(level, error, file, line, func, buffer); if (k < 0) { log_close_kmsg();