src/ssl_sock.c
static void ssl_sock_shutw(struct connection *conn, int clean)
{
	if (conn->flags & CO_FL_HANDSHAKE)
		return;
	/* no handshake was in progress, try a clean ssl shutdown */
	if (clean && (SSL_shutdown(conn->xprt_ctx) <= 0)) {
		/* Clear openssl global errors stack */
		ERR_clear_error();
	}

	/* force flag on ssl to keep session in cache regardless shutdown result */
	SSL_set_shutdown(conn->xprt_ctx, SSL_SENT_SHUTDOWN);
}
/* This function tries to perform a clean shutdown on an SSL connection, and in
 * any case, flags the connection as reusable if no handshake was in progress.
 */
This function tries to perform a clean shutdown on an SSL connection, and in
any case, flags the connection as reusable if no handshake was in progress.
This function tries to perform a clean shutdown on an SSL connection and in any case flags the connection as reusable if no handshake was in progress .
static void ssl_sock_shutw(struct connection *conn, int clean)
{
	if (conn->flags & CO_FL_HANDSHAKE)
		return;
	if (clean && (SSL_shutdown(conn->xprt_ctx) <= 0)) {
		ERR_clear_error();
	}
	SSL_set_shutdown(conn->xprt_ctx, SSL_SENT_SHUTDOWN);
}
static void ssl_sock_shutw ( struct connection * conn , int clean ) { if ( conn -> flags & CO_FL_HANDSHAKE ) return ; if ( clean && ( SSL_shutdown ( conn -> xprt_ctx ) <= 0 ) ) { ERR_clear_error ( ) ; } SSL_set_shutdown ( conn -> xprt_ctx , SSL_SENT_SHUTDOWN ) ; }
This function tries to perform a clean shutdown on an SSL connection, and in
 any case, flags the connection as reusable if no handshake was in progress.
This function tries to perform a clean shutdown on an SSL connection and in any case flags the connection as reusable if no handshake was in progress .
/* no handshake was in progress, try a clean ssl shutdown */ /* Clear openssl global errors stack */ /* force flag on ssl to keep session in cache regardless shutdown result */