On 26/05/2015 18:41, Rémy Maucherat wrote: <snip/>
My understanding of your response was that you are now happy with that change. Shout if that is not the case. > As far as I am concerned, the tweaking of the request line looks wrong. > > if (pos >= lastValid) { > - if (useAvailableDataOnly) { > - return false; > + if (keptAlive) { > + // Haven't read any request data yet so use the > keep-alive > + // timeout. > + > wrapper.setReadTimeout(wrapper.getEndpoint().getKeepAliveTimeout()); > } > > Ok to change the timeout if you like (although for NIO2 it's meaningless if > the operation is already pending), The keepAliveTimeout is only changed in the case where: - keep-alive is enabled - there is no more data in the read buffer - a non-blocking read is required for the first byte (or more) of the next request In all other cases the soTimeout is used. > but more importantly why is the "return false" gone ? It was a left over from the attempt to make BIO support more connections than it had threads by not doing an immediate read on a keep-alive connection. It was no longer required. There is another "return false" in the correct place in the next if block. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org