Author: remm Date: Fri Mar 30 07:38:02 2007 New Revision: 524103 URL: http://svn.apache.org/viewvc?view=rev&rev=524103 Log: - Adjustments to error processing with Comet during the begin event (exceptions not causing error reports). - Fix a probable bug when security was enabled (Comet would most likely not work).
Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?view=diff&rev=524103&r1=524102&r2=524103 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Fri Mar 30 07:38:02 2007 @@ -216,7 +216,7 @@ connector.getContainer().getPipeline().getFirst().invoke(request, response); if (request.isComet()) { - if (!response.isClosed()) { + if (!response.isClosed() && !response.isError()) { comet = true; res.action(ActionCode.ACTION_COMET_BEGIN, null); } else { Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java?view=diff&rev=524103&r1=524102&r2=524103 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterFactory.java Fri Mar 30 07:38:02 2007 @@ -121,16 +121,21 @@ // Create and initialize a filter chain object ApplicationFilterChain filterChain = null; - if (!Globals.IS_SECURITY_ENABLED && (request instanceof Request)) { + if (request instanceof Request) { Request req = (Request) request; - filterChain = (ApplicationFilterChain) req.getFilterChain(); - if (filterChain == null) { + if (Globals.IS_SECURITY_ENABLED) { + // Security: Do not recycle filterChain = new ApplicationFilterChain(); - req.setFilterChain(filterChain); + } else { + filterChain = (ApplicationFilterChain) req.getFilterChain(); + if (filterChain == null) { + filterChain = new ApplicationFilterChain(); + req.setFilterChain(filterChain); + } } comet = req.isComet(); } else { - // Security: Do not recycle + // Request dispatcher in use filterChain = new ApplicationFilterChain(); } Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java?view=diff&rev=524103&r1=524102&r2=524103 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java Fri Mar 30 07:38:02 2007 @@ -159,9 +159,10 @@ } // Identify if the request is Comet related now that the servlet has been allocated + boolean comet = false; if (servlet instanceof CometProcessor && request.getAttribute("org.apache.tomcat.comet.support") == Boolean.TRUE) { - request.setComet(true); + comet = true; } // Acknowlege the request @@ -209,8 +210,9 @@ if (context.getSwallowOutput()) { try { SystemLogHandler.startCapture(); - if (request.isComet()) { + if (comet) { filterChain.doFilterEvent(request.getEvent()); + request.setComet(true); } else { filterChain.doFilter(request.getRequest(), response.getResponse()); @@ -222,8 +224,9 @@ } } } else { - if (request.isComet()) { + if (comet) { filterChain.doFilterEvent(request.getEvent()); + request.setComet(true); } else { filterChain.doFilter (request.getRequest(), response.getResponse()); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]