mercurial/util.py
changeset 9089 8ec39725d966
parent 9084 9f191931c859
child 9090 6cf043b1aa14
child 9097 431462bd8478
--- a/mercurial/util.py	Wed Jul 08 17:03:16 2009 -0700
+++ b/mercurial/util.py	Thu Jul 09 11:59:18 2009 +0200
@@ -38,13 +38,16 @@
 
 import subprocess
 closefds = os.name == 'posix'
-def popen2(cmd, bufsize=-1):
-    p = subprocess.Popen(cmd, shell=True, bufsize=bufsize,
+def popen2(cmd):
+    # Setting bufsize to -1 lets the system decide the buffer size.
+    # The default for bufsize is 0, meaning unbuffered. This leads to
+    # poor performance on Mac OS X: http://bugs.python.org/issue4194
+    p = subprocess.Popen(cmd, shell=True, bufsize=-1,
                          close_fds=closefds,
                          stdin=subprocess.PIPE, stdout=subprocess.PIPE)
     return p.stdin, p.stdout
-def popen3(cmd, bufsize=-1):
-    p = subprocess.Popen(cmd, shell=True, bufsize=bufsize,
+def popen3(cmd):
+    p = subprocess.Popen(cmd, shell=True, bufsize=-1,
                          close_fds=closefds,
                          stdin=subprocess.PIPE, stdout=subprocess.PIPE,
                          stderr=subprocess.PIPE)