From 5be2952cc340b70aee026fc9a65a10bd6c5e52e0 Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Mon, 14 Mar 2011 16:58:37 -0700 Subject: Use a buffer for debug console output (improves speed on Windows when console is enabled). Ported from Singularity, patch by Shyotl --- linden/indra/llcommon/llerror.cpp | 3 +++ linden/indra/llvfs/lldir_win32.cpp | 2 +- linden/indra/newview/llappviewerwin32.cpp | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/linden/indra/llcommon/llerror.cpp b/linden/indra/llcommon/llerror.cpp index 532a453..aeba629 100644 --- a/linden/indra/llcommon/llerror.cpp +++ b/linden/indra/llcommon/llerror.cpp @@ -168,6 +168,9 @@ namespace { } } fprintf(stderr, "%s\n", message.c_str()); +#if LL_WINDOWS + fflush(stderr); //Now using a buffer. flush is required. +#endif if (ANSI_YES == mUseANSI) colorANSI("0"); // reset } diff --git a/linden/indra/llvfs/lldir_win32.cpp b/linden/indra/llvfs/lldir_win32.cpp index 9d4c5ec..e5d6747 100644 --- a/linden/indra/llvfs/lldir_win32.cpp +++ b/linden/indra/llvfs/lldir_win32.cpp @@ -112,7 +112,7 @@ LLDir_Win32::LLDir_Win32() } else { - fprintf(stderr, "Couldn't get APP path, assuming current directory!"); + LL_WARNS("AppInit") << "Couldn't get APP path, assuming current directory!\n" << LL_ENDL; GetCurrentDirectory(MAX_PATH, w_str); mExecutableDir = utf16str_to_utf8str(llutf16string(w_str)); // Assume it's the current directory diff --git a/linden/indra/newview/llappviewerwin32.cpp b/linden/indra/newview/llappviewerwin32.cpp index 1f042bd..2e74d0a 100644 --- a/linden/indra/newview/llappviewerwin32.cpp +++ b/linden/indra/newview/llappviewerwin32.cpp @@ -365,7 +365,8 @@ void create_console() h_con_handle = _open_osfhandle(l_std_handle, _O_TEXT); fp = _fdopen( h_con_handle, "w" ); *stderr = *fp; - setvbuf( stderr, NULL, _IONBF, 0 ); + setvbuf( stderr, NULL, _IOFBF, 1024 ); //Assigning a buffer improves speed a LOT, esp on vista/win7 + //_IOLBF is borked. } LLAppViewerWin32::LLAppViewerWin32(const char* cmd_line) : -- cgit v1.1