aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/ssl_gnutls.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2005-12-18 02:02:29 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2005-12-18 02:02:29 +0100
commita03a9f376fe2fd1737ba7af6a87d99fe43a2a72e (patch)
treee91c630b2f1a5ec48bd692c1ab6f54136adf5829 /protocols/ssl_gnutls.c
parent7c0a4975a538ab75405e64919bbdfee51b898b2e (diff)
Non-blocking I/O for OpenSSL, plus some extra (important) cleanup code for GnuTLS.
Diffstat (limited to 'protocols/ssl_gnutls.c')
-rw-r--r--protocols/ssl_gnutls.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/protocols/ssl_gnutls.c b/protocols/ssl_gnutls.c
index 2e307aab..f2cb3e08 100644
--- a/protocols/ssl_gnutls.c
+++ b/protocols/ssl_gnutls.c
@@ -110,7 +110,10 @@ static void ssl_handshake( gpointer data, gint source, GaimInputCondition cond )
int st;
if( conn->inpa != -1 )
+ {
gaim_input_remove( conn->inpa );
+ conn->inpa = -1;
+ }
if( ( st = gnutls_handshake( conn->session ) ) < 0 )
{
@@ -182,6 +185,9 @@ void ssl_disconnect( void *conn_ )
{
struct scd *conn = conn_;
+ if( conn->inpa != -1 )
+ gaim_input_remove( conn->inpa );
+
if( conn->established )
gnutls_bye( conn->session, GNUTLS_SHUT_WR );