Author: markt Date: Wed Oct 9 11:39:26 2013 New Revision: 1530575 URL: http://svn.apache.org/r1530575 Log: Handle write errors when the client drops the connection in the same way read errors are handled.
Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java Propchange: tomcat/tc7.0.x/trunk/ ------------------------------------------------------------------------------ Merged /tomcat/trunk:r1530574 Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java?rev=1530575&r1=1530574&r2=1530575&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/upgrade/AprServletOutputStream.java Wed Oct 9 11:39:26 2013 @@ -16,11 +16,13 @@ */ package org.apache.coyote.http11.upgrade; +import java.io.EOFException; import java.io.IOException; import java.nio.ByteBuffer; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; +import org.apache.tomcat.jni.OS; import org.apache.tomcat.jni.Socket; import org.apache.tomcat.jni.Status; import org.apache.tomcat.util.net.AprEndpoint; @@ -132,6 +134,12 @@ public class AprServletOutputStream exte } if (Status.APR_STATUS_IS_EAGAIN(-written)) { written = 0; + } else if (-written == Status.APR_EOF) { + throw new EOFException(sm.getString("apr.clientAbort")); + } else if ((OS.IS_WIN32 || OS.IS_WIN64) && + (-written == Status.APR_OS_START_SYSERR + 10053)) { + // 10053 on Windows is connection aborted + throw new EOFException(sm.getString("apr.clientAbort")); } else if (written < 0) { throw new IOException(sm.getString("apr.write.error", Integer.valueOf(-written))); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org