Author: markt Date: Thu Aug 7 10:34:20 2014 New Revision: 1616465 URL: http://svn.apache.org/r1616465 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56736 Avoid incorrect ISE if the timeout fires after a non-container thread has called dispatch() but before a container thread processed the dispatch()
Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/coyote/AsyncStateMachine.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ ------------------------------------------------------------------------------ Merged /tomcat/trunk:r1616452,1616458 Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/AsyncStateMachine.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1616465&r1=1616464&r2=1616465&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/AsyncStateMachine.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/AsyncStateMachine.java Thu Aug 7 10:34:20 2014 @@ -240,9 +240,10 @@ public class AsyncStateMachine<S> { state = AsyncState.TIMING_OUT; return true; } else if (state == AsyncState.COMPLETING || + state == AsyncState.DISPATCHING || state == AsyncState.DISPATCHED) { - // NOOP - App called complete between the the timeout firing and - // execution reaching this point + // NOOP - App called complete() or dispatch() between the the + // timeout firing and execution reaching this point return false; } else { throw new IllegalStateException( Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1616465&r1=1616464&r2=1616465&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Aug 7 10:34:20 2014 @@ -71,6 +71,12 @@ Cédric Couralet. (markt) </fix> <fix> + <bug>56736</bug>: Avoid an incorrect <code>IllegalStateException</code> + if the async timeout fires after a non-container thread has called + <code>AsyncContext.dispatch()</code> but before a container thread + starts processing the dispatch. (markt) + </fix> + <fix> <bug>56771</bug>: When lookup for a resource in all the alternate or backup <code>javax.naming.directory.DirContext</code>, <code>javax.naming.NameNotFoundException</code> will be thrown at the --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org