aboutgitcodebugslistschat
path: root/log.h
diff options
context:
space:
mode:
authorStefano Brivio <sbrivio@redhat.com>2024-06-14 22:47:51 +0200
committerStefano Brivio <sbrivio@redhat.com>2024-06-21 15:32:34 +0200
commitafd9cdc9bb48fdff18d6506e6f5051de35490397 (patch)
tree10156a46f48450a90b1b3bd0065dd44a8d16ec31 /log.h
parent8c2f24a5604ad908d6d65b64bf7675e04e2d7277 (diff)
downloadpasst-afd9cdc9bb48fdff18d6506e6f5051de35490397.tar
passt-afd9cdc9bb48fdff18d6506e6f5051de35490397.tar.gz
passt-afd9cdc9bb48fdff18d6506e6f5051de35490397.tar.bz2
passt-afd9cdc9bb48fdff18d6506e6f5051de35490397.tar.lz
passt-afd9cdc9bb48fdff18d6506e6f5051de35490397.tar.xz
passt-afd9cdc9bb48fdff18d6506e6f5051de35490397.tar.zst
passt-afd9cdc9bb48fdff18d6506e6f5051de35490397.zip
log, passt: Always print to stderr before initialisation is complete
After commit 15001b39ef1d ("conf: set the log level much earlier"), we had a phase during initialisation when messages wouldn't be printed to standard error anymore. Commit f67238aa864d ("passt, log: Call __openlog() earlier, log to stderr until we detach") fixed that, but only for the case where no log files are given. If a log file is configured, vlogmsg() will not call passt_vsyslog(), but during initialisation, LOG_PERROR is set, so to avoid duplicated prints (which would result from passt_vsyslog() printing to stderr), we don't call fprintf() from vlogmsg() either. This is getting a bit too complicated. Instead of abusing LOG_PERROR, define an internal logging flag that clearly represents that we're not done with the initialisation phase yet. If this flag is not set, make sure we always print to stderr, if the log mask matches. Reported-by: Yalan Zhang <yalzhang@redhat.com> Signed-off-by: Stefano Brivio <sbrivio@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'log.h')
-rw-r--r--log.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/log.h b/log.h
index 3dab284..77d74a2 100644
--- a/log.h
+++ b/log.h
@@ -30,6 +30,7 @@ void logmsg(int pri, const char *format, ...)
extern int log_trace;
extern bool log_conf_parsed;
+extern bool log_runtime;
void trace_init(int enable);
#define trace(...) \