Commit c72da349 authored by Michał Kępień's avatar Michał Kępień

Prevent unbuffered stderr I/O on Windows

Make stderr fully buffered on Windows to improve named performance when
it is logging to stderr, which happens e.g. in system tests.  Note that:

  - line buffering (_IOLBF) is unavailable on Windows,

  - fflush() is called anyway after each log message gets written to the
    default stderr logging channels created by libisc.
parent 27cd2c7c
Pipeline #22083 canceled with stages
......@@ -1398,6 +1398,17 @@ main(int argc, char *argv[]) {
(void) ProfilerStart(NULL);
#endif
#ifdef WIN32
/*
* Prevent unbuffered I/O from crippling named performance on Windows
* when it is logging to stderr (e.g. in system tests). Use full
* buffering (_IOFBF) as line buffering (_IOLBF) is unavailable on
* Windows and fflush() is called anyway after each log message gets
* written to the default stderr logging channels created by libisc.
*/
setvbuf(stderr, NULL, _IOFBF, BUFSIZ);
#endif
/*
* Record version in core image.
* strings named.core | grep "named version:"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment