--- a/mercurial/util.py Wed Jul 08 22:08:45 2009 -0400
+++ b/mercurial/util.py Thu Jul 09 11:59:56 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)