Преглед изворни кода

Flush stderr on Windows

While on Linux stderr is unbuffered, it is buffered on Windows. Always
flush stderr on Windows to ensure any error messages appear in the right
order to ease diagnosing.

Change-Id: I37300e384ecd3a51a321a48818f0114d6f3357a0
Sebastian Schuberth пре 7 година
родитељ
комит
a9399846fa
1 измењених фајлова са 4 додато и 0 уклоњено
  1. 4 0
      repo

+ 4 - 0
repo

@@ -144,6 +144,10 @@ def _print(*objects, **kwargs):
   out = kwargs.get('file', sys.stdout)
   out = kwargs.get('file', sys.stdout)
   out.write(sep.join(objects) + end)
   out.write(sep.join(objects) + end)
 
 
+  # On Windows stderr is buffered, so flush to maintain the order of error messages.
+  if out == sys.stderr and platform.system() == "Windows":
+    out.flush()
+
 
 
 # Python version check
 # Python version check
 ver = sys.version_info
 ver = sys.version_info