Author: markt
Date: Wed May 27 13:51:15 2015
New Revision: 1682030

URL: http://svn.apache.org/r1682030
Log:
Align longPool in APR with NIO.
It does mean Processors allocated to requests when the connector is shut down 
could end up being eligible for GC rather than being recycled but there should 
be no functional change.

Modified:
    tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
    tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=1682030&r1=1682029&r2=1682030&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Wed May 
27 13:51:15 2015
@@ -20,7 +20,6 @@ import org.apache.coyote.Processor;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.net.AprEndpoint;
-import org.apache.tomcat.util.net.AprEndpoint.Poller;
 import org.apache.tomcat.util.net.SocketWrapperBase;
 
 
@@ -108,19 +107,15 @@ public class Http11AprProtocol extends A
 
         @Override
         protected void longPoll(SocketWrapperBase<Long> socket, Processor 
processor) {
-
             if (processor.isAsync()) {
                 // Async
                 socket.setAsync(true);
             } else {
-                // Upgraded
-                Poller p = ((AprEndpoint) 
getProtocol().getEndpoint()).getPoller();
-                if (p == null) {
-                    // Connector has been stopped
-                    release(socket, processor, false);
-                } else {
-                    socket.registerReadInterest();
-                }
+                // Either:
+                //  - this is an upgraded connection
+                //  - the request line/headers have not been completely
+                //    read
+                socket.registerReadInterest();
             }
         }
     }

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1682030&r1=1682029&r2=1682030&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed May 27 
13:51:15 2015
@@ -2683,8 +2683,10 @@ public class AprEndpoint extends Abstrac
                 if (closed) {
                     return;
                 }
-                ((AprEndpoint) getEndpoint()).getPoller().add(
-                        getSocket().longValue(), getReadTimeout(), 
Poll.APR_POLLIN);
+                Poller p = ((AprEndpoint) getEndpoint()).getPoller();
+                if (p != null) {
+                    p.add(getSocket().longValue(), getReadTimeout(), 
Poll.APR_POLLIN);
+                }
             }
         }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to