You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2015/02/22 19:49:57 UTC
svn commit: r1661521 - in
/tomcat/trunk/java/org/apache/tomcat/websocket/server:
WsHttpUpgradeHandler.java WsRemoteEndpointImplServer.java
Author: markt
Date: Sun Feb 22 18:49:56 2015
New Revision: 1661521
URL: http://svn.apache.org/r1661521
Log:
Now need to close both streams
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1661521&r1=1661520&r2=1661521&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java Sun Feb 22 18:49:56 2015
@@ -122,7 +122,7 @@ public class WsHttpUpgradeHandler implem
t.setContextClassLoader(applicationClassLoader);
try {
WsRemoteEndpointImplServer wsRemoteEndpointServer =
- new WsRemoteEndpointImplServer(sos, webSocketContainer);
+ new WsRemoteEndpointImplServer(sis, sos, webSocketContainer);
wsSession = new WsSession(ep, wsRemoteEndpointServer,
webSocketContainer, handshakeRequest.getRequestURI(),
handshakeRequest.getParameterMap(),
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java?rev=1661521&r1=1661520&r2=1661521&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java Sun Feb 22 18:49:56 2015
@@ -24,6 +24,7 @@ import java.util.Queue;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ExecutorService;
+import javax.servlet.ServletInputStream;
import javax.servlet.ServletOutputStream;
import javax.websocket.SendHandler;
import javax.websocket.SendResult;
@@ -49,6 +50,7 @@ public class WsRemoteEndpointImplServer
private static final Queue<OnResultRunnable> onResultRunnables =
new ConcurrentLinkedQueue<>();
+ private final ServletInputStream sis;
private final ServletOutputStream sos;
private final WsWriteTimeout wsWriteTimeout;
private final ExecutorService executorService;
@@ -59,7 +61,9 @@ public class WsRemoteEndpointImplServer
private volatile boolean close;
- public WsRemoteEndpointImplServer(ServletOutputStream sos, WsServerContainer serverContainer) {
+ public WsRemoteEndpointImplServer(ServletInputStream sis, ServletOutputStream sos,
+ WsServerContainer serverContainer) {
+ this.sis = sis;
this.sos = sos;
this.wsWriteTimeout = serverContainer.getTimeout();
this.executorService = serverContainer.getExecutorService();
@@ -147,6 +151,13 @@ public class WsRemoteEndpointImplServer
} catch (IOException e) {
if (log.isInfoEnabled()) {
log.info(sm.getString("wsRemoteEndpointServer.closeFailed"), e);
+ }
+ }
+ try {
+ sis.close();
+ } catch (IOException e) {
+ if (log.isInfoEnabled()) {
+ log.info(sm.getString("wsRemoteEndpointServer.closeFailed"), e);
}
}
wsWriteTimeout.unregister(this);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org