Author: markt Date: Thu Feb 18 19:14:16 2016 New Revision: 1731119 URL: http://svn.apache.org/viewvc?rev=1731119&view=rev Log: Correct a problem with sendfile that resulted in a Processor being added to the cache twice leading to broken responses.
Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1731119&r1=1731118&r2=1731119&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Thu Feb 18 19:14:16 2016 @@ -1385,21 +1385,22 @@ public class NioEndpoint extends Abstrac sd.fchannel.close(); } catch (Exception ignore) { } - if ( sd.keepAlive ) { - if (log.isDebugEnabled()) { - log.debug("Connection is keep alive, registering back for OP_READ"); - } - if (event) { - this.add(attachment.getChannel(),SelectionKey.OP_READ); - } else { + // For calls from outside the Poller, the caller is + // responsible for registering the socket for the + // appropriate event(s) if sendfile completes. + if (!event) { + if ( sd.keepAlive ) { + if (log.isDebugEnabled()) { + log.debug("Connection is keep alive, registering back for OP_READ"); + } reg(sk,attachment,SelectionKey.OP_READ); + } else { + if (log.isDebugEnabled()) { + log.debug("Send file connection is being closed"); } - } else { - if (log.isDebugEnabled()) { - log.debug("Send file connection is being closed"); + cancelledKey(sk,SocketStatus.STOP,false); + return false; } - cancelledKey(sk,SocketStatus.STOP,false); - return false; } } else { if (log.isDebugEnabled()) { Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1731119&r1=1731118&r2=1731119&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Feb 18 19:14:16 2016 @@ -66,6 +66,15 @@ </fix> </changelog> </subsection> + <subsection name="Coyote"> + <changelog> + <fix> + <bug>58646</bug>: Correct a problem with sendfile that resulted in a + Processor being added to the cache twice leading to broken responses. + (markt) + </fix> + </changelog> + </subsection> </section> <section name="Tomcat 7.0.68 (violetagg)" rtext="released 2016-02-16"> <subsection name="General"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org