diff --git a/src/security/tls_session.cpp b/src/security/tls_session.cpp index beaad1787d0109c83eb83df454dee8bc5334f4ed..b0693f60718ba564906ccaa4f1788315019fa048 100644 --- a/src/security/tls_session.cpp +++ b/src/security/tls_session.cpp @@ -1161,7 +1161,8 @@ TlsSession::TlsSessionImpl::handleStateHandshake(TlsSessionState state) JAMI_DBG("[TLS] handshake"); ret = gnutls_handshake(session_); } while ((ret == GNUTLS_E_INTERRUPTED or ret == GNUTLS_E_AGAIN) - and ++retry_count < HANDSHAKE_MAX_RETRY); + and ++retry_count < HANDSHAKE_MAX_RETRY + and state_.load() != TlsSessionState::SHUTDOWN); // Stop on fatal error if (gnutls_error_is_fatal(ret)) {