Author: fhanik Date: Thu Sep 27 07:41:13 2007 New Revision: 580029 URL: http://svn.apache.org/viewvc?rev=580029&view=rev Log: forward port from 6.0 Port improved fix for bug 30949
Modified: tomcat/sandbox/gdev6x/java/org/apache/catalina/core/ApplicationDispatcher.java Modified: tomcat/sandbox/gdev6x/java/org/apache/catalina/core/ApplicationDispatcher.java URL: http://svn.apache.org/viewvc/tomcat/sandbox/gdev6x/java/org/apache/catalina/core/ApplicationDispatcher.java?rev=580029&r1=580028&r2=580029&view=diff ============================================================================== --- tomcat/sandbox/gdev6x/java/org/apache/catalina/core/ApplicationDispatcher.java (original) +++ tomcat/sandbox/gdev6x/java/org/apache/catalina/core/ApplicationDispatcher.java Thu Sep 27 07:41:13 2007 @@ -341,10 +341,6 @@ wrequest.setQueryString(hrequest.getQueryString()); processRequest(request,response,state); - - wrequest.recycle(); - unwrapRequest(state); - } // Handle an HTTP path-based forward @@ -377,10 +373,6 @@ } processRequest(request,response,state); - - wrequest.recycle(); - unwrapRequest(state); - } // This is not a real close in order to support error processing @@ -521,8 +513,6 @@ ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, servletPath); invoke(state.outerRequest, state.outerResponse, state); - - wrequest.recycle(); } // Handle an HTTP path based include @@ -555,8 +545,6 @@ ApplicationFilterFactory.DISPATCHER_REQUEST_PATH_ATTR, servletPath); invoke(state.outerRequest, state.outerResponse, state); - - wrequest.recycle(); } } @@ -731,7 +719,9 @@ // See Bugzilla 30949 unwrapRequest(state); unwrapResponse(state); - + // Recycle request if necessary (also BZ 30949) + recycleRequestWrapper(state); + // Rethrow an exception if one was thrown by the invoked servlet if (ioException != null) throw ioException; @@ -985,5 +975,10 @@ throw new ServletException(sm.getString( "applicationDispatcher.specViolation.response")); } + } + + private void recycleRequestWrapper(State state) { + if (state.wrapRequest instanceof ApplicationHttpRequest) { + ((ApplicationHttpRequest) state.wrapRequest).recycle(); } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]