From e982b574a5e8878fb50f8f75c179474f2b1661dd Mon Sep 17 00:00:00 2001 From: Adam Weiss Date: Wed, 10 Sep 2014 12:26:59 -0400 Subject: [PATCH] Use explicit fflush() instead of setvbuf() Flushing after every line when printing to console is desirable when running with systemd but setvbuf() has slightly different semantics on Windows that causes warnings. Just do an explicit fflush() after each line print to console instead. --- src/init.cpp | 1 - src/util.cpp | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/init.cpp b/src/init.cpp index 31f64878f..2e18f485b 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -630,7 +630,6 @@ bool AppInit2(boost::thread_group& threadGroup) fPrintToConsole = GetBoolArg("-printtoconsole", false); fLogTimestamps = GetBoolArg("-logtimestamps", true); fLogIPs = GetBoolArg("-logips", false); - setvbuf(stdout, NULL, _IOLBF, 0); #ifdef ENABLE_WALLET bool fDisableWallet = GetBoolArg("-disablewallet", false); #endif diff --git a/src/util.cpp b/src/util.cpp index 5a4e187f9..20aff49c8 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -211,6 +211,7 @@ int LogPrintStr(const std::string &str) { // print to console ret = fwrite(str.data(), 1, str.size(), stdout); + fflush(stdout); } else if (fPrintToDebugLog && AreBaseParamsConfigured()) {