From a937f24e1bfe26f6a88fb83f40a81ea84567e2e8 Mon Sep 17 00:00:00 2001 From: markt Date: Mon, 22 Mar 2010 11:50:53 +0000 Subject: [PATCH] It is valid to call startAsync() inside a dispatched request git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@926042 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/core/AsyncContextImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/core/AsyncContextImpl.java b/java/org/apache/catalina/core/AsyncContextImpl.java index a77307815..148aff195 100644 --- a/java/org/apache/catalina/core/AsyncContextImpl.java +++ b/java/org/apache/catalina/core/AsyncContextImpl.java @@ -243,7 +243,8 @@ public class AsyncContextImpl implements AsyncContext { } public void setStarted(Context context) { - if (state.compareAndSet(AsyncState.NOT_STARTED, AsyncState.STARTED)) { + if (state.compareAndSet(AsyncState.NOT_STARTED, AsyncState.STARTED) || + state.compareAndSet(AsyncState.DISPATCHED, AsyncState.STARTED)) { this.context = context; } else { throw new IllegalStateException("Start illegal. Invalid state: "+state.get()); -- 2.11.0