On Mon, Nov 25, 2013 at 08:20:18AM +0100, Daniel Stenberg wrote:

> >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.

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. It does turn off
SIGPIPE for the specific case I'm seeing (again, I'm having trouble
actually getting EPIPE in the first place, but from Stefan's strace, I
think this would fix his problem).

  [1/2]: factor out sigpipe_reset from easy.c
  [2/2]: ignore SIGPIPE during curl_multi_cleanup

-Peff
--
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