SIGPIPE from gnutls_bye on closed socket, error handling
Jos Kuijpers
jos at kuijpersvof.nl
Sat Jan 8 12:22:32 CET 2011
Folks,
Since a week, I am having serious problems with the GnuTLS library
concerning the gnutls_bye():
I am writing a binding between gnutls and ObjFW
(https://www.webkeks.org/objfw) => https://webkeks.org/hg/objgnutls/
When an attempt to reading from the socket failed, and results in a closed
socket (because of a malicious client, or lost network connection, etc),
the close method of the object gets called. This method then will call
gnutls_bye, socket close and gnutls_deinit.
There is the problem. Gnutls_bye sends data. When the socket is broken, and
gnutls_bye is called, my program DIES: SIGPIPE.
I am very disappointed about this. Catching signals in a library is
not-done.
Is there a way to get proper error handling done in this case? Can this be
added? The library is unstable now, because a closed socket exits the
server,
which is a very bad thing.
With kind regards,
Jos
More information about the Gnutls-devel
mailing list