Author: markt Date: Thu Aug 7 09:44:05 2014 New Revision: 1616452 URL: http://svn.apache.org/r1616452 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/trunk/java/org/apache/coyote/AsyncStateMachine.java Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1616452&r1=1616451&r2=1616452&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java (original) +++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java Thu Aug 7 09:44:05 2014 @@ -259,9 +259,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( --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org