diff -r e461230cc95b -r c88975a4d264 mercurial/sshpeer.py --- a/mercurial/sshpeer.py Sun May 31 00:00:36 2015 -0700 +++ b/mercurial/sshpeer.py Wed May 20 11:31:38 2015 -0500 @@ -87,7 +87,12 @@ # while self.subprocess isn't used, having it allows the subprocess to # to clean up correctly later - self.pipeo, self.pipei, self.pipee, self.subprocess = util.popen4(cmd) + # + # no buffer allow the use of 'select' + # feel free to remove buffering and select usage when we ultimately + # move to threading. + sub = util.popen4(cmd, bufsize=0) + self.pipeo, self.pipei, self.pipee, self.subprocess = sub self.pipei = util.bufferedinputpipe(self.pipei)