[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-gnutls] avoiding signals completely
From: |
Daniel Stenberg |
Subject: |
[Help-gnutls] avoiding signals completely |
Date: |
Tue, 31 Oct 2006 09:03:39 +0100 (CET) |
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
- [Help-gnutls] avoiding signals completely,
Daniel Stenberg <=