On Sat, Apr 15, 2017 at 1:04 PM, Augie Fackler <r...@durin42.com> wrote: > >> On Apr 15, 2017, at 5:48 AM, Yuya Nishihara <y...@tcha.org> wrote: >> >> On Thu, 13 Apr 2017 16:17:34 -0400, Augie Fackler wrote: >>> # HG changeset patch >>> # User Augie Fackler <au...@google.com> >>> # Date 1492114180 14400 >>> # Thu Apr 13 16:09:40 2017 -0400 >>> # Node ID ec81fd7580f3e31aa92e8834ffbcf2a8e80e72e3 >>> # Parent 35afb54dbb4df2975dbbf0e1525b98611f18ba85 >>> sshpeer: try harder to snag stderr when stdout closes unexpectedly >>> >>> Resolves test failures on FreeBSD, but I'm not happy about the fix. >>> >>> diff --git a/mercurial/sshpeer.py b/mercurial/sshpeer.py >>> --- a/mercurial/sshpeer.py >>> +++ b/mercurial/sshpeer.py >>> @@ -110,9 +110,17 @@ class doublepipe(object): >>> if mainready: >>> meth = getattr(self._main, methname) >>> if data is None: >>> - return meth() >>> + r = meth() >>> else: >>> - return meth(data) >>> + r = meth(data) >>> + if not r and data != 0: >> >> I'm not sure what this condition is intended for. It's always true for >> write() because r is None and data is a str. > > This forwarder is also used for read(), where data is the number of bytes to > be read. At least, I think that’s right, now I’m doubting myself.
Should I go ahead and mail this patch? Perhaps with some extra comments? Or do people object to this fix? > >> >>> + # We've observed a condition that indicates the >>> + # stdout closed unexpectedly. Check stderr one >>> + # more time and snag anything that's there before >>> + # letting anyone know the main part of the pipe >>> + # closed prematurely. >>> + _forwardoutput(self._ui, self._side) >>> + return r > _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel