[Help-gnutls] avoiding signals completely

Rupert Kittinger-Sereinig rks at mur.at
Tue Oct 31 09:21:57 CET 2006


Daniel Stenberg schrieb:
> Hi gnutls hackers!
> 
> I want to be able to use GnuTLS without ever having to bother with signals!
> 
> We're using GnuTLS within libcurl and lots of people use it 
> multi-threaded and then signals don't work properly and make no sense. 
> Within libcurl itself we then make an effort to avoid them all over, but 
> now we've fallen over a problem when GnuTLS sends (or rather is the 
> cause of) a SIGPIPE.
> 
> I've checked the _gnutls_io_write_buffered() function in both 1.4.4 and 
> 1.5.3 and there doesn't seem to be any means to disable the 
> signal-generation.
> 
> May I suggest that we at least add an option that avoids signals when 
> using GnuTLS? It would be a matter of using the fourth send() argument 
> on most platforms, and the SO_NOSIGPIPE socket option on some. We 
> already do this magic in libcurl.
> 
> I would be willing to provide a patch if there's no major objections.
> 
> Here's the full backtrace from Brendan Jurd who faced this problem:
> 
>     http://curl.haxx.se/mail/lib-2006-10/0321.html
> 
> 

Why not simply disable SIGPIPE for the whole application with sigaction()?

Rupert

-- 
Rupert Kittinger-Sereinig <rks at mur.at>
Krenngasse 32
A-8010 Graz
Austria






More information about the Gnutls-help mailing list