You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/01/09 22:32:25 UTC
svn commit: r1556957 -
/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
Author: markt
Date: Thu Jan 9 21:32:25 2014
New Revision: 1556957
URL: http://svn.apache.org/r1556957
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55976
Fix sendfile support on NIO
Modified:
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
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=1556957&r1=1556956&r2=1556957&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Thu Jan 9 21:32:25 2014
@@ -276,6 +276,7 @@ public class Http11NioProcessor extends
@Override
protected boolean breakKeepAliveLoop(
SocketWrapper<NioChannel> socketWrapper) {
+ openSocket = keepAlive;
// Do sendfile as needed: add socket to sendfile and end
if (sendfileData != null && !error) {
((KeyAttachment) socketWrapper).setSendfileData(sendfileData);
@@ -283,8 +284,16 @@ public class Http11NioProcessor extends
SelectionKey key = socketWrapper.getSocket().getIOChannel().keyFor(
socketWrapper.getSocket().getPoller().getSelector());
//do the first write on this thread, might as well
- openSocket = socketWrapper.getSocket().getPoller().processSendfile(key,
- (KeyAttachment) socketWrapper, true);
+ if (socketWrapper.getSocket().getPoller().processSendfile(key,
+ (KeyAttachment) socketWrapper, true)) {
+ sendfileInProgress = true;
+ } else {
+ // Write failed
+ if (log.isDebugEnabled()) {
+ log.debug(sm.getString("http11processor.sendfile.error"));
+ }
+ error = true;
+ }
return true;
}
return false;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org