> -----Original Message----- > From: Jeff King [mailto:peff@xxxxxxxx] > Sent: Friday, November 18, 2016 12:09 PM > To: David Turner > Cc: Junio C Hamano; git@xxxxxxxxxxxxxxx; spearce@xxxxxxxxxxx > Subject: Re: [PATCH] remote-curl: don't hang when a server dies before any > output > > On Fri, Nov 18, 2016 at 05:04:59PM +0000, David Turner wrote: > > > > So I don't feel like we have a good patch for the general case yet, > > > and I'm probably not going to get around to implementing it anytime > > > soon. > > > > I'm confused -- it sounds like your patch actually does work (that is, > > that Junio's failure was not caused by your patch but by the absence > > of our patches). And your patch handles more cases than mine. So we > > should probably use it instead of mine. > > No, mine passes the vanilla test suite, but fails with GIT_TEST_LONG. > If the want/have negotiation takes multiple rounds, the intermediate > rounds don't end on a flush packet, and my patch causes remote-curl to > complain that the response was truncated. > > I think you could fix it by teaching remote-curl that the final packet > must be a flush _or_ contain an ACK/NAK, but I didn't try it. That's > getting a bit invasive and brittle. OK, I'll re-roll mine with a better message.