Author: markt Date: Tue Sep 6 15:54:51 2011 New Revision: 1165728 URL: http://svn.apache.org/viewvc?rev=1165728&view=rev Log: More connector alignment - request header parsing
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=1165728&r1=1165727&r2=1165728&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java Tue Sep 6 15:54:51 2011 @@ -217,7 +217,14 @@ public class Http11AprProcessor extends } else { request.setStartTime(System.currentTimeMillis()); keptAlive = true; - inputBuffer.parseHeaders(); + // Currently only NIO will ever return false here + if (!inputBuffer.parseHeaders()) { + // We've read part of the request, don't recycle it + // instead associate it with the socket + openSocket = true; + readComplete = false; + break; + } if (!disableUploadTimeout) { Socket.timeoutSet(socketRef, connectionUploadTimeout * 1000); Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java?rev=1165728&r1=1165727&r2=1165728&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Tue Sep 6 15:54:51 2011 @@ -244,9 +244,10 @@ public class Http11NioProcessor extends } else { request.setStartTime(System.currentTimeMillis()); keptAlive = true; - if ( !inputBuffer.parseHeaders() ) { - //we've read part of the request, don't recycle it - //instead associate it with the socket + // Currently only NIO will ever return false here + if (!inputBuffer.parseHeaders()) { + // We've read part of the request, don't recycle it + // instead associate it with the socket openSocket = true; readComplete = false; break; 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=1165728&r1=1165727&r2=1165728&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Tue Sep 6 15:54:51 2011 @@ -181,7 +181,14 @@ public class Http11Processor extends Abs keptAlive = true; // Reset timeout for reading headers socket.getSocket().setSoTimeout(endpoint.getSoTimeout()); - inputBuffer.parseHeaders(); + // Currently only NIO will ever return false here + if (!inputBuffer.parseHeaders()) { + // We've read part of the request, don't recycle it + // instead associate it with the socket + openSocket = true; + readComplete = false; + break; + } if (!disableUploadTimeout) { socket.getSocket().setSoTimeout(connectionUploadTimeout); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org