##// END OF EJS Templates
ssh: fix flakey ssh errors on BSD systems...
Durham Goode -
r34107:c037fd65 default
parent child Browse files
Show More
@@ -203,12 +203,21 b' class sshpeer(wireproto.wirepeer):'
203 203 self._pipei = doublepipe(self.ui, self._pipei, self._pipee)
204 204 self._pipeo = doublepipe(self.ui, self._pipeo, self._pipee)
205 205
206 def badresponse():
207 self._abort(error.RepoError(_('no suitable response from '
208 'remote hg')))
209
210 try:
206 211 # skip any noise generated by remote shell
207 212 self._callstream("hello")
208 213 r = self._callstream("between", pairs=("%s-%s" % ("0"*40, "0"*40)))
214 except IOError:
215 badresponse()
216
209 217 lines = ["", "dummy"]
210 218 max_noise = 500
211 219 while lines[-1] and max_noise:
220 try:
212 221 l = r.readline()
213 222 self._readerr()
214 223 if lines[-1] == "1\n" and l == "\n":
@@ -217,9 +226,10 b' class sshpeer(wireproto.wirepeer):'
217 226 self.ui.debug("remote: ", l)
218 227 lines.append(l)
219 228 max_noise -= 1
229 except IOError:
230 badresponse()
220 231 else:
221 self._abort(error.RepoError(_('no suitable response from '
222 'remote hg')))
232 badresponse()
223 233
224 234 self._caps = set()
225 235 for l in reversed(lines):
General Comments 0
You need to be logged in to leave comments. Login now