From cd2150ff02c592c1ab6da219302ff80f589559fe Mon Sep 17 00:00:00 2001 From: remm Date: Thu, 28 Oct 2021 11:32:47 +0800 Subject: [PATCH] Close WebConnection --- .../tomcat/websocket/server/WsHttpUpgradeHandler.java | 3 +++ webapps/docs/changelog.xml | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java b/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java index 5dd1c5a..703f17a 100644 --- a/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java +++ b/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java @@ -99,6 +99,7 @@ public class WsHttpUpgradeHandler implements InternalHttpUpgradeHandler { @Override public void init(WebConnection connection) { + this.connection = connection; if (ep == null) { throw new IllegalStateException( sm.getString("wsHttpUpgradeHandler.noPreInit")); @@ -203,7 +204,9 @@ public class WsHttpUpgradeHandler implements InternalHttpUpgradeHandler { @Override public void destroy() { + WebConnection connection = this.connection; if (connection != null) { + this.connection = null; try { connection.close(); } catch (Exception e) { diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index a7bb52c..a97e15d 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -338,6 +338,14 @@ + + + + The internal upgrade handler should close the associated + WebConnection on destroy. (remm) + + + -- 2.27.0