[PATCH] Flush stderr after write

Patrick Mezard pmezard at gmail.com
Wed Jan 10 12:38:47 CST 2007


# HG changeset patch
# User Patrick Mezard <pmezard at gmail.com>
# Date 1168457727 -3600
# Node ID ea772dca79a4e5a3f03ae7fa76bc2af50da98cfe
# Parent  aeda5d6a1f74a9ba12f1da2a3740941fc6ae6a1c
Flush stderr after write.

stderr can be buffered under win32 when redirected to a file,
including stdout.

diff -r aeda5d6a1f74 -r ea772dca79a4 mercurial/ui.py
--- a/mercurial/ui.py	Sun Jan 07 19:50:34 2007 +0100
+++ b/mercurial/ui.py	Wed Jan 10 20:35:27 2007 +0100
@@ -385,6 +385,9 @@ class ui(object):
             if not sys.stdout.closed: sys.stdout.flush()
             for a in args:
                 sys.stderr.write(str(a))
+            # stderr may be buffered under win32 when redirected to files,
+            # including stdout.
+            if not sys.stderr.closed: sys.stderr.flush()
         except IOError, inst:
             if inst.errno != errno.EPIPE:
                 raise


More information about the Mercurial-devel mailing list