Author: remm
Date: Tue Feb 24 16:44:05 2015
New Revision: 1662014

URL: http://svn.apache.org/r1662014
Log:
Catch ISE thrown by the closed IS for a rare but possibly legitimate scenario.

Modified:
    
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.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=1662014&r1=1662013&r2=1662014&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
Tue Feb 24 16:44:05 2015
@@ -137,7 +137,11 @@ public class WsHttpUpgradeHandler implem
             
wsRemoteEndpointServer.setTransformation(wsFrame.getTransformation());
             ep.onOpen(wsSession, endpointConfig);
             webSocketContainer.registerSession(ep, wsSession);
-            sis.setReadListener(new WsReadListener(this, wsFrame));
+            try {
+                sis.setReadListener(new WsReadListener(this, wsFrame));
+            } catch (IllegalStateException e) {
+                // It is not impossible that the stream is already closed 
during onOpen
+            }
         } catch (DeploymentException e) {
             throw new IllegalArgumentException(e);
         } finally {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to