On 11/06/2013 21:25, Konstantin Kolinko wrote:
2013/6/12 <ma...@apache.org>:
Author: markt
Date: Tue Jun 11 20:18:10 2013
New Revision: 1491940
URL: http://svn.apache.org/r1491940
Log:
Servlet 3.1 requires an ISE if getRequest() or getResponse() are called after
complete() or dispatch()
Modified:
tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
tomcat/trunk/java/org/apache/catalina/core/LocalStrings.properties
tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java
Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1491940&r1=1491939&r2=1491940&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Tue Jun 11
20:18:10 2013
@@ -64,8 +64,8 @@ public class AsyncContextImpl implements
protected static final StringManager sm =
StringManager.getManager(Constants.Package);
- private ServletRequest servletRequest = null;
- private ServletResponse servletResponse = null;
+ private volatile ServletRequest servletRequest = null;
+ private volatile ServletResponse servletResponse = null;
private final List<AsyncListenerWrapper> listeners = new ArrayList<>();
private boolean hasOriginalRequestAndResponse = true;
private volatile Runnable dispatch = null;
@@ -90,6 +90,7 @@ public class AsyncContextImpl implements
check();
request.getCoyoteRequest().action(ActionCode.COMMIT, null);
request.getCoyoteRequest().action(ActionCode.ASYNC_COMPLETE, null);
+ clearServletRequestResposne();
s/../Response/
Ah, one of my favorite typos. It is almost worth writing a pre-commit
hook to fix that :)
Thanks for the catch.
Mark
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org