2015-02-24 21:26 GMT+01:00 Christopher Schultz <ch...@christopherschultz.net
>:

> Rémy,
>
> On 2/24/15 11:44 AM, r...@apache.org 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?
>

Some user code is run before that, so a lot of things can happen and since
this code is inside the container, it looks fine to me.

Rémy

Reply via email to