Modified: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1851983&r1=1851982&r2=1851983&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Wed 
Jan 23 21:07:10 2019
@@ -1512,6 +1512,10 @@ public class NioEndpoint extends Abstrac
                                     ka.access(Long.MAX_VALUE);
                                     processSocket(ka.getChannel(), 
SocketStatus.TIMEOUT, true);
                                 }
+                            } else if (ka.isAsync() && 
!handler.isAvailable(ka)) {
+                                // Prevent subsequent timeouts if the timeout 
event takes a while to process
+                                ka.access(Long.MAX_VALUE);
+                                processSocket(ka.getChannel(), 
SocketStatus.TIMEOUT, true);
                             }
                         }//end if
                     }catch ( CancelledKeyException ckx ) {
@@ -1689,6 +1693,7 @@ public class NioEndpoint extends Abstrac
         public void release(SocketWrapper<NioChannel> socket);
         public void release(SocketChannel socket);
         public SSLImplementation getSslImplementation();
+        public boolean isAvailable(SocketWrapper<NioChannel> socket);
     }
 
 

Modified: 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/unittest/TesterContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/tomcat/unittest/TesterContext.java?rev=1851983&r1=1851982&r2=1851983&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/test/org/apache/tomcat/unittest/TesterContext.java 
(original)
+++ tomcat/tc7.0.x/trunk/test/org/apache/tomcat/unittest/TesterContext.java Wed 
Jan 23 21:07:10 2019
@@ -1268,4 +1268,9 @@ public class TesterContext implements Co
     }
     @Override
     public boolean getAllowMultipleLeadingForwardSlashInPath() { return false; 
}
+
+    @Override
+    public void incrementInProgressAsyncCount() { /* NO-OP */ }
+    @Override
+    public void decrementInProgressAsyncCount() { /* NO-OP */ }
 }

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1851983&r1=1851982&r2=1851983&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Jan 23 21:07:10 2019
@@ -113,6 +113,10 @@
         Ensure that Tomcat is fully terminated when running as a service.
         (markt)
       </add>
+      <fix>
+        <bug>63003</bug>: Extend the <code>unloadDelay</code> attribute on a
+        <code>Context</code> to include in-flight asynchronous requests. 
(markt)
+      </fix>
       <add>
         <bug>63026</bug>: Add a new attribute, <code>forceDnHexEscape</code>, 
to
         the <code>JNDIRealm</code> that forces escaping in the String



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

Reply via email to