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]