On Mon, 25 Nov 2013, Jeff King wrote:
Thanks. I'm having trouble reproducing the SIGPIPE locally, but I am able to
see via strace the write we make in curl_multi_cleanup. The call stack is:
curl_multi_cleanup
-> close_all_connections
-> Curl_disconnect
-> Curl_ossl_close
...
Daniel, does the call to Curl_disconnect need to be wrapped with
sigpipe_ignore/reset, similar to 7d80ed64e435155?
Yes. It very much looks like that. The SSL "closing" is what was the problem I
had to adress.
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.
--
/ daniel.haxx.se
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html