mercurial/sshpeer.py
branchstable
changeset 32062 ad6c5497cd15
parent 31953 cc2382b60007
child 33100 05906b8e1d23
child 33636 f93975a5ebe8
equal deleted inserted replaced
32061:6e0368b6e0bb 32062:ad6c5497cd15
    89 
    89 
    90     def write(self, data):
    90     def write(self, data):
    91         return self._call('write', data)
    91         return self._call('write', data)
    92 
    92 
    93     def read(self, size):
    93     def read(self, size):
    94         return self._call('read', size)
    94         r = self._call('read', size)
       
    95         if size != 0 and not r:
       
    96             # We've observed a condition that indicates the
       
    97             # stdout closed unexpectedly. Check stderr one
       
    98             # more time and snag anything that's there before
       
    99             # letting anyone know the main part of the pipe
       
   100             # closed prematurely.
       
   101             _forwardoutput(self._ui, self._side)
       
   102         return r
    95 
   103 
    96     def readline(self):
   104     def readline(self):
    97         return self._call('readline')
   105         return self._call('readline')
    98 
   106 
    99     def _call(self, methname, data=None):
   107     def _call(self, methname, data=None):