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