Rémy,

On 2/24/15 11:44 AM, [email protected] wrote:
> 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
> +            }

Do you think it would it be useful to add a trace-level log in the catch
branch, for debugging?

-chris

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to