SIGPIPE from gnutls_bye on closed socket, error handling
jos at kuijpersvof.nl
Sat Jan 8 12:22:32 CET 2011
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
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
which is a very bad thing.
With kind regards,
More information about the Gnutls-devel