Add in a slightly different behavior for dispatch.
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 24 Mar 2010 21:26:47 +0000 (21:26 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 24 Mar 2010 21:26:47 +0000 (21:26 +0000)
commit21b048b6f0bcdec7dad6cb69a29cadcb57729c48
tree475ec73c3142bc5a542398396785c5b7117b79a9
parentcb9cc0af15bb339d6751e023839a511a7609633c
Add in a slightly different behavior for dispatch.
dispatch() will return immediately, according to spec. But if dispatch is called from the tomcat worker thread, then the dispatch will not happen until the worker thread has backed out of the call. This prevents multiple threads being launched into the same request/response and causing potential concurrency issues.
The Async state machine guarantees that multiple dispatch can not be called.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@927182 13f79535-47bb-0310-9956-ffa450edef68
java/org/apache/catalina/connector/CoyoteAdapter.java
java/org/apache/catalina/connector/Request.java
java/org/apache/catalina/core/StandardWrapperValve.java
java/org/apache/coyote/http11/Http11NioProcessor.java
java/org/apache/coyote/http11/Http11Processor.java