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]