log: make sure generators never log into the journal to avoid activation deadlocks
This makes all generators log to kmsg by default.
This commit is contained in:
+4
-1
@@ -240,7 +240,7 @@ int log_open(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (log_target != LOG_TARGET_AUTO ||
|
||||
if ((log_target != LOG_TARGET_AUTO && log_target != LOG_TARGET_SAFE) ||
|
||||
getpid() == 1 ||
|
||||
isatty(STDERR_FILENO) <= 0) {
|
||||
|
||||
@@ -266,6 +266,7 @@ int log_open(void) {
|
||||
}
|
||||
|
||||
if (log_target == LOG_TARGET_AUTO ||
|
||||
log_target == LOG_TARGET_SAFE ||
|
||||
log_target == LOG_TARGET_JOURNAL_OR_KMSG ||
|
||||
log_target == LOG_TARGET_SYSLOG_OR_KMSG ||
|
||||
log_target == LOG_TARGET_KMSG) {
|
||||
@@ -547,6 +548,7 @@ static int log_dispatch(
|
||||
|
||||
if (k <= 0 &&
|
||||
(log_target == LOG_TARGET_AUTO ||
|
||||
log_target == LOG_TARGET_SAFE ||
|
||||
log_target == LOG_TARGET_SYSLOG_OR_KMSG ||
|
||||
log_target == LOG_TARGET_JOURNAL_OR_KMSG ||
|
||||
log_target == LOG_TARGET_KMSG)) {
|
||||
@@ -744,6 +746,7 @@ static const char *const log_target_table[] = {
|
||||
[LOG_TARGET_SYSLOG] = "syslog",
|
||||
[LOG_TARGET_SYSLOG_OR_KMSG] = "syslog-or-kmsg",
|
||||
[LOG_TARGET_AUTO] = "auto",
|
||||
[LOG_TARGET_SAFE] = "safe",
|
||||
[LOG_TARGET_NULL] = "null"
|
||||
};
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ typedef enum LogTarget{
|
||||
LOG_TARGET_SYSLOG,
|
||||
LOG_TARGET_SYSLOG_OR_KMSG,
|
||||
LOG_TARGET_AUTO, /* console if stderr is tty, JOURNAL_OR_KMSG otherwise */
|
||||
LOG_TARGET_SAFE, /* console if stderr is tty, KMSG otherwise */
|
||||
LOG_TARGET_NULL,
|
||||
_LOG_TARGET_MAX,
|
||||
_LOG_TARGET_INVALID = -1
|
||||
|
||||
Reference in New Issue
Block a user