Author: markt Date: Tue Jan 25 17:12:22 2011 New Revision: 1063362 URL: http://svn.apache.org/viewvc?rev=1063362&view=rev Log: Prevent multiple Comet END events
Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1063362&r1=1063361&r2=1063362&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Tue Jan 25 17:12:22 2011 @@ -28,6 +28,7 @@ import javax.servlet.SessionTrackingMode import org.apache.catalina.Context; import org.apache.catalina.Wrapper; import org.apache.catalina.comet.CometEvent; +import org.apache.catalina.comet.CometEvent.EventType; import org.apache.catalina.core.ApplicationSessionCookieConfig; import org.apache.catalina.core.AsyncContextImpl; import org.apache.catalina.util.ServerInfo; @@ -217,8 +218,9 @@ public class CoyoteAdapter implements Ad connector.getService().getContainer().getPipeline().getFirst().event(request, response, request.getEvent()); } if (response.isClosed() || !request.isComet()) { - if (status==SocketStatus.OPEN) { - //CometEvent.close was called during an event. + if (status==SocketStatus.OPEN && + request.getEvent().getEventType() != EventType.END) { + //CometEvent.close was called during an event other than END request.getEvent().setEventType(CometEvent.EventType.END); request.getEvent().setEventSubType(null); error = true; Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1063362&r1=1063361&r2=1063362&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Jan 25 17:12:22 2011 @@ -198,6 +198,10 @@ for explicit additional arguments for the executable. Those were broken when implementing fix for bug <bug>49657</bug>. (kkolinko) </fix> + <fix> + Prvent multiple Comet END events if the CometServlet calls + <code>event.close()</code> during an END event. (markt) + </fix> </changelog> </subsection> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org