Author: markt Date: Tue Jan 14 17:58:45 2014 New Revision: 1558129 URL: http://svn.apache.org/r1558129 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55996 Ensure Async requests timeout correctly.
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java?rev=1558129&r1=1558128&r2=1558129&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Tue Jan 14 17:58:45 2014 @@ -85,7 +85,15 @@ public class SocketWrapper<E> { public boolean isSecure() { return secure; } public void setSecure(boolean secure) { this.secure = secure; } public long getLastAccess() { return lastAccess; } - public void access() { access(System.currentTimeMillis()); } + public void access() { + // Async timeouts are based on the time between the call to startAsync() + // and complete() / dispatch() so don't update the last access time + // (that drives the timeout) on every read and write when using async + // processing. + if (!isAsync()) { + access(System.currentTimeMillis()); + } + } public void access(long access) { lastAccess = access; } public void setTimeout(long timeout) {this.timeout = timeout;} public long getTimeout() {return this.timeout;} --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org