Add Filip's additional patch to correctly handle infinite read timeouts
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 16 May 2011 22:02:04 +0000 (22:02 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Mon, 16 May 2011 22:02:04 +0000 (22:02 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1103923 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/tomcat/util/net/NioBlockingSelector.java

index 107f8c0..21a8568 100644 (file)
@@ -166,7 +166,11 @@ public class NioBlockingSelector {
                 try {
                     if ( att.getReadLatch()==null || att.getReadLatch().getCount()==0) att.startReadLatch(1);
                     poller.add(att,SelectionKey.OP_READ, reference);
-                    att.awaitReadLatch(readTimeout,TimeUnit.MILLISECONDS);
+                    if (readTimeout < 0) {
+                        att.awaitReadLatch(Long.MAX_VALUE, TimeUnit.MILLISECONDS);
+                    } else {
+                        att.awaitReadLatch(readTimeout, TimeUnit.MILLISECONDS);
+                    }
                 }catch (InterruptedException ignore) {
                     Thread.interrupted();
                 }