From a4098511633f8b734a18c084d7d4d0431ed513e9 Mon Sep 17 00:00:00 2001 From: unknown <msvensson@pilot.mysql.com> Date: Fri, 22 Dec 2006 00:05:40 +0100 Subject: [PATCH] Bug#24148 regression tests hang with SSL enabled - Don't call SSL_shutdown a second time vio/viossl.c: SSL_shutdown might return 0 indicating that it should be called once again for a graceful shutdown. Since the socket are going to be closed anyway ther is no need for the second call. --- vio/viossl.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/vio/viossl.c b/vio/viossl.c index f436262a3ce..806f6fc356a 100644 --- a/vio/viossl.c +++ b/vio/viossl.c @@ -126,12 +126,16 @@ int vio_ssl_close(Vio *vio) { switch ((r= SSL_shutdown(ssl))) { - case 1: /* Shutdown successful */ + case 1: + /* Shutdown successful */ + break; + case 0: + /* + Shutdown not yet finished - since the socket is going to + be closed there is no need to call SSL_shutdown() a second + time to wait for the other side to respond + */ break; - case 0: /* Shutdown not yet finished, call it again */ - if ((r= SSL_shutdown(ssl) >= 0)) - break; - /* Fallthrough */ default: /* Shutdown failed */ DBUG_PRINT("vio_error", ("SSL_shutdown() failed, error: %d", SSL_get_error(ssl, r))); -- 2.30.9