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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to