diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2005-12-18 02:02:29 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2005-12-18 02:02:29 +0100 |
commit | a03a9f376fe2fd1737ba7af6a87d99fe43a2a72e (patch) | |
tree | e91c630b2f1a5ec48bd692c1ab6f54136adf5829 /protocols/ssl_gnutls.c | |
parent | 7c0a4975a538ab75405e64919bbdfee51b898b2e (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.c | 6 |
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 ); |