Re: error: git-remote-https died of signal 13
- From
Jeff King <peff@peff.net>
- Date
- Nov 25, 2013, 14:46 UTC
- Message-ID
- <20131125144611.GA23802@sigill.intra.peff.net>
- In-Reply-To
- <20131125143213.GA22642@sigill.intra.peff.net>
On Mon, Nov 25, 2013 at 09:32:13AM -0500, Jeff King wrote:
Show 9 quoted lines
> > But I then decided that if a 3rd library has one way to generate > > SIGPIPE it may very well have another in a separate spot so I decided > > to do the wrap at the top level immediately in the entry point when > > getting called by the application. Following that, the SIGPIPE > > ignore/restore should rather be made in curl_multi_cleanup. > > Unfortunately, we need an actual SessionHandle to know whether it is OK > to reset signals at all. There may be a more elegant way of checking > that, but here's the patch series I came up with.
Scratch that. I had originally written something like:
if (conn->data)
sigpipe_ignore(conn->data, &pipe);
Curl_disconnect(conn, ...);
sigpipe_restore(&pipe);but while sending it out, I realized that the "data" we attach to each connection when we close it is just the multi->closure_handle. So I was able to hoist the check out to curl_multi_cleanup (and that's what I just sent).
-Peff