Patchwork [4,of,4] sshpeer: also use doublepipe for client to server communication

login
register
mail settings
Submitter Pierre-Yves David
Date June 5, 2015, 6:19 p.m.
Message ID <d1daa0101d67bdfa01ff.1433528356@marginatus.alto.octopoid.net>
Download mbox | patch
Permalink /patch/9524/
State Accepted
Headers show

Comments

Pierre-Yves David - June 5, 2015, 6:19 p.m.
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@fb.com>
# Date 1432140959 18000
#      Wed May 20 11:55:59 2015 -0500
# Node ID d1daa0101d67bdfa01ff6c49b1d88ccfaf976c74
# Parent  326294c728893275d7f40e3179f45ac0c1a888df
sshpeer: also use doublepipe for client to server communication

This will allow even more real time output when the server issue output in the
middle a stream push.
Matt Mackall - June 5, 2015, 8:16 p.m.
On Fri, 2015-06-05 at 11:19 -0700, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david@fb.com>
> # Date 1432140959 18000
> #      Wed May 20 11:55:59 2015 -0500
> # Node ID d1daa0101d67bdfa01ff6c49b1d88ccfaf976c74
> # Parent  326294c728893275d7f40e3179f45ac0c1a888df
> sshpeer: also use doublepipe for client to server communication

These are queued for default, thanks.

Patch

diff --git a/mercurial/sshpeer.py b/mercurial/sshpeer.py
--- a/mercurial/sshpeer.py
+++ b/mercurial/sshpeer.py
@@ -166,10 +166,11 @@  class sshpeer(wireproto.wirepeer):
         sub = util.popen4(cmd, bufsize=0)
         self.pipeo, self.pipei, self.pipee, self.subprocess = sub
 
         self.pipei = util.bufferedinputpipe(self.pipei)
         self.pipei = doublepipe(self.ui, self.pipei, self.pipee)
+        self.pipeo = doublepipe(self.ui, self.pipeo, self.pipee)
 
         # skip any noise generated by remote shell
         self._callstream("hello")
         r = self._callstream("between", pairs=("%s-%s" % ("0"*40, "0"*40)))
         lines = ["", "dummy"]