From 42c1667f1fdad447cf04631c7aae8525f4bc49d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B4=94=E4=B8=80=E9=B8=A3?= Date: Fri, 19 Jul 2019 20:37:35 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E4=BF=AE=E6=94=B9ssl=20shutd?= =?UTF-8?q?own=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platform/src/ssl_stream.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/platform/src/ssl_stream.cpp b/platform/src/ssl_stream.cpp index 52a1685..4040d54 100644 --- a/platform/src/ssl_stream.cpp +++ b/platform/src/ssl_stream.cpp @@ -2111,6 +2111,14 @@ void ssl_stream_free_and_close_fd(struct ssl_stream * s_stream, struct event_bas //pxy_ssl_shutdown_cb(fd, 0, sslshutctx); SSL_set_shutdown(s_stream->ssl, SSL_RECEIVED_SHUTDOWN); SSL_shutdown(s_stream->ssl); + bufferevent_disable(bev, EV_READ|EV_WRITE); + struct bufferevent *ubev = bufferevent_get_underlying(bev); + if (ubev) { + bufferevent_disable(ubev, EV_READ|EV_WRITE); + bufferevent_setfd(ubev, -1); + bufferevent_setcb(ubev, NULL, NULL, NULL, NULL); + bufferevent_free(ubev); + } ssl_stream_free(s_stream); evutil_closesocket(fd); }