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/11/12 11:48:41 UTC
svn commit: r1638744 - in /tomcat/trunk/java/org/apache/tomcat/util/net:
AbstractEndpoint.java NioEndpoint.java SocketWrapperBase.java
Author: markt
Date: Wed Nov 12 10:48:41 2014
New Revision: 1638744
URL: http://svn.apache.org/r1638744
Log:
Switch to using lastAsyncStart to calculate the async timeouts
Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1638744&r1=1638743&r2=1638744&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Wed Nov 12 10:48:41 2014
@@ -129,7 +129,7 @@ public abstract class AbstractEndpoint<S
}
long now = System.currentTimeMillis();
for (SocketWrapperBase<S> socket : waitingRequests) {
- long access = socket.getLastAccess();
+ long access = socket.getLastAsyncStart();
if (socket.getTimeout() > 0 && (now - access) > socket.getTimeout()) {
processSocket(socket, SocketStatus.TIMEOUT, true);
}
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1638744&r1=1638743&r2=1638744&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Wed Nov 12 10:48:41 2014
@@ -1292,7 +1292,7 @@ public class NioEndpoint extends Abstrac
processKey(key,ka);
} else if (!ka.isAsync() || ka.getTimeout() > 0) {
// Async requests with a timeout of 0 or less never timeout
- long delta = now - ka.getLastAccess();
+ long delta = now - ka.getLastAsyncStart();
long timeout = (ka.getTimeout()==-1)?((long) socketProperties.getSoTimeout()):(ka.getTimeout());
boolean isTimedout = delta > timeout;
if (isTimedout) {
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1638744&r1=1638743&r2=1638744&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Wed Nov 12 10:48:41 2014
@@ -118,15 +118,9 @@ public abstract class SocketWrapperBase<
public void setSecure(boolean secure) { this.secure = secure; }
public long getLastAccess() { return lastAccess; }
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());
- }
+ access(System.currentTimeMillis());
}
- public void access(long access) { lastAccess = access; }
+ void access(long access) { lastAccess = access; }
public void setTimeout(long timeout) {this.timeout = timeout;}
public long getTimeout() {return this.timeout;}
public boolean getError() { return error; }
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org