curl-library
Re: CURLOPT_NOSIGNAL conflicting goals?
Date: Wed, 3 Nov 2010 22:13:01 +0100 (CET)
On Wed, 3 Nov 2010, Philippe Le Rohellec wrote:
> Actually, it might happen on all Unix platforms in situations where openssl
> is triggering the SIGPIPE. In those situations, MSG_NOSIGNAL doesn't protect
> us even on OSes where it's supported. That's an openssl bug.
Yes, I'm aware of that and I too agree that this is an OpenSSL bug or at least
lack of feature. GnuTLS for example allows us to deal with it.
> The reason I can't do it is because I'm just implementing a library that
> various applications will link with, so I'm not at liberty to mask the
> SIGPIPE globally
> I guess I could do it to the same way it's done in transfer.c around every
> call to curl_easy_perform in my library but that's potentially a lot of
> places.
Ah right, but you could easily write your own wrapper for curl_easy_perform
that does it and then it would accomplish the same thing.
Without MSG_NOSIGNAL or SO_NOSIGPIPE the masking is global whoever does it and
that's really not very nice...
> In any case, thanks for your answer. If you ever decide to split the
> CURLOPT_NOSIGNAL option, let me know, I would find it very useful.
You can rest assured that *I* will probably never do that on my own. I use
operating systems without that flaw! Also, the fact that you can so easily
work around this make me consider this not very important.
I do want it better documented though, and I'd love a helping hand with that.
-- / daniel.haxx.se ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.htmlReceived on 2010-11-03