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 2015/01/29 20:11:57 UTC

svn commit: r1655809 - in /tomcat/trunk/java/org/apache/tomcat/util/net: NioEndpoint.java SocketWrapperBase.java

Author: markt
Date: Thu Jan 29 19:11:57 2015
New Revision: 1655809

URL: http://svn.apache.org/r1655809
Log:
Fix refactoring bug that meant sockets instantly timeout out as soon as
they were accepted.

Modified:
    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/NioEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1655809&r1=1655808&r2=1655809&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Thu Jan 29 19:11:57 2015
@@ -1321,6 +1321,7 @@ public class NioEndpoint extends Abstrac
                 }
             }
             writeLatch = null;
+            setReadTimeout(soTimeout);
             setWriteTimeout(soTimeout);
         }
 

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=1655809&r1=1655808&r2=1655809&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Thu Jan 29 19:11:57 2015
@@ -33,8 +33,8 @@ public abstract class SocketWrapperBase<
     private volatile E socket;
     private final AbstractEndpoint<E> endpoint;
 
-    private volatile long lastRead = 0;
-    private volatile long lastWrite = 0;
+    private volatile long lastRead = System.currentTimeMillis();
+    private volatile long lastWrite = lastRead;
     private volatile long lastAsyncStart = 0;
     private volatile long asyncTimeout = -1;
     private long readTimeout = -1;
@@ -163,7 +163,9 @@ public abstract class SocketWrapperBase<
         }
     }
 
-    public long getReadTimeout() {return this.readTimeout;}
+    public long getReadTimeout() {
+        return this.readTimeout;
+    }
 
     /**
      * Set the timeout for writing. Values of zero or less will be changed to
@@ -180,7 +182,9 @@ public abstract class SocketWrapperBase<
         }
     }
 
-    public long getWriteTimeout() {return this.writeTimeout;}
+    public long getWriteTimeout() {
+        return this.writeTimeout;
+    }
 
     public void updateLastWrite() { lastWrite = System.currentTimeMillis(); }
     public long getLastWrite() { return lastWrite; }
@@ -317,8 +321,8 @@ public abstract class SocketWrapperBase<
         dispatches.clear();
         error = null;
         keepAliveLeft = 100;
-        lastRead = 0;
-        lastWrite = 0;
+        lastRead = System.currentTimeMillis();
+        lastWrite = lastRead;
         lastAsyncStart = 0;
         asyncTimeout = -1;
         localAddr = null;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org