# HG changeset patch # User Sebastien Decugis # Date 1265707387 -32400 # Node ID 3e79fef1031d70d817a1b9f8a4afbb416bf3f435 # Parent 5ea550c3f033cb0ee6bf553a9283b0ad6a7ceafe Still bugs pending... diff -r 5ea550c3f033 -r 3e79fef1031d freeDiameter/cnxctx.c --- a/freeDiameter/cnxctx.c Tue Feb 09 17:59:15 2010 +0900 +++ b/freeDiameter/cnxctx.c Tue Feb 09 18:23:07 2010 +0900 @@ -667,14 +667,15 @@ { switch (ret) { case GNUTLS_E_REHANDSHAKE: - CHECK_GNUTLS_DO( ret = gnutls_handshake(session), - { - if (TRACE_BOOL(INFO)) { - fd_log_debug("TLS re-handshake failed on socket %d (%s) : %s\n", conn->cc_socket, conn->cc_id, gnutls_strerror(ret)); - } - ret = 0; - goto end; - } ); + if (!conn->cc_closing) + CHECK_GNUTLS_DO( ret = gnutls_handshake(session), + { + if (TRACE_BOOL(INFO)) { + fd_log_debug("TLS re-handshake failed on socket %d (%s) : %s\n", conn->cc_socket, conn->cc_id, gnutls_strerror(ret)); + } + ret = 0; + goto end; + } ); case GNUTLS_E_AGAIN: case GNUTLS_E_INTERRUPTED: