Author: markt Date: Wed Aug 12 17:16:40 2015 New Revision: 1695582 URL: http://svn.apache.org/r1695582 Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58230 I can't see a reason for this to depend on available(). The dispatch should only happen if there is data to read.
I can see good reasons for this not to depend on available(). The AsyncStateMachine has different behaviour on some state changes if it thinks async I/O is being used. With this test in place it was possible for some of those actions to be skipped. Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1695582&r1=1695581&r2=1695582&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Wed Aug 12 17:16:40 2015 @@ -1723,9 +1723,7 @@ public class Http11Processor extends Abs } } else if (status == SocketStatus.OPEN_READ && request.getReadListener() != null) { try { - if (inputBuffer.available() > 0) { - asyncStateMachine.asyncOperation(); - } + asyncStateMachine.asyncOperation(); } catch (IllegalStateException x) { // ISE - Request/Response not in correct state for async read if (log.isDebugEnabled()) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org