From 4e4e5a4e8ab7d93c9df999ffa17e04bfcd0b103f Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Tue, 28 Aug 2018 13:15:50 +0000 Subject: [PATCH] [clangd] Use buffered llvm::errs() in the clangd binary. Summary: Unbuffered stream can cause significant (non-deterministic) latency for the logger. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, cfe-commits Differential Revision: https://reviews.llvm.org/D51349 llvm-svn: 340822 --- clang-tools-extra/clangd/tool/ClangdMain.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/clang-tools-extra/clangd/tool/ClangdMain.cpp b/clang-tools-extra/clangd/tool/ClangdMain.cpp index 39f2185..f22dd35 100644 --- a/clang-tools-extra/clangd/tool/ClangdMain.cpp +++ b/clang-tools-extra/clangd/tool/ClangdMain.cpp @@ -259,6 +259,9 @@ int main(int argc, char *argv[]) { if (Tracer) TracingSession.emplace(*Tracer); + // Use buffered stream to stderr (we still flush each log message). Unbuffered + // stream can cause significant (non-deterministic) latency for the logger. + llvm::errs().SetBuffered(); JSONOutput Out(llvm::outs(), llvm::errs(), LogLevel, InputMirrorStream ? InputMirrorStream.getPointer() : nullptr, PrettyPrint); -- 2.7.4