mercurial/utils/procutil.py
changeset 45079 8628cd1122d2
parent 45077 fa270dcbdb55
child 45080 00cdac669614
equal deleted inserted replaced
45078:a59aab6078eb 45079:8628cd1122d2
    97 # glibc determines buffering on first write to stdout - if we replace a TTY
    97 # glibc determines buffering on first write to stdout - if we replace a TTY
    98 # destined stdout with a pipe destined stdout (e.g. pager), we want line
    98 # destined stdout with a pipe destined stdout (e.g. pager), we want line
    99 # buffering.
    99 # buffering.
   100 if isatty(stdout):
   100 if isatty(stdout):
   101     if pycompat.ispy3 or pycompat.iswindows:
   101     if pycompat.ispy3 or pycompat.iswindows:
   102         # On Python 3, buffered binary streams can't be set line-buffered.
   102         # Python 3 implements its own I/O streams.
   103         # On Python 2, Windows doesn't support line buffering.
   103         # The standard library doesn't offer line-buffered binary streams.
   104         # Therefore we have a wrapper that implements line buffering.
   104         # Python 2 uses the I/O streams provided by the C library.
       
   105         # The Windows C runtime library doesn't support line buffering.
   105         stdout = make_line_buffered(stdout)
   106         stdout = make_line_buffered(stdout)
   106     else:
   107     else:
   107         stdout = os.fdopen(stdout.fileno(), 'wb', 1)
   108         stdout = os.fdopen(stdout.fileno(), 'wb', 1)
   108 
   109 
   109 
   110