Author: markt
Date: Wed Jun  1 21:37:12 2016
New Revision: 1746501

URL: http://svn.apache.org/viewvc?rev=1746501&view=rev
Log:
Make processSocket() more like NIO/NIO2

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

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=1746501&r1=1746500&r2=1746501&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Jun  1 
21:37:12 2016
@@ -804,24 +804,24 @@ public class AprEndpoint extends Abstrac
      *         <code>false</code> which indicates an error occurred and that 
the
      *         socket should be closed
      */
-    public boolean processSocket(long socket, SocketEvent event) {
+    protected boolean processSocket(long socket, SocketEvent event) {
         SocketWrapperBase<Long> socketWrapper = 
connections.get(Long.valueOf(socket));
-        if (socketWrapper != null) {
-            return processSocket(socketWrapper, event, true);
-        }
-        return true;
+        return processSocket(socketWrapper, event, true);
     }
 
 
     @Override
-    public boolean processSocket(SocketWrapperBase<Long> socket, SocketEvent 
event,
-            boolean dispatch) {
+    public boolean processSocket(SocketWrapperBase<Long> socketWrapper,
+            SocketEvent event, boolean dispatch) {
         try {
+            if (socketWrapper == null) {
+                return false;
+            }
             // Synchronisation is required here as this code may be called as a
             // result of calling AsyncContext.dispatch() from a non-container
             // thread
-            synchronized (socket) {
-                SocketProcessor proc = new SocketProcessor(socket, event);
+            synchronized (socketWrapper) {
+                SocketProcessor proc = new SocketProcessor(socketWrapper, 
event);
                 Executor executor = getExecutor();
                 if (dispatch && executor != null) {
                     executor.execute(proc);
@@ -830,7 +830,7 @@ public class AprEndpoint extends Abstrac
                 }
             }
         } catch (RejectedExecutionException ree) {
-            log.warn(sm.getString("endpoint.executor.fail", socket) , ree);
+            log.warn(sm.getString("endpoint.executor.fail", socketWrapper) , 
ree);
             return false;
         } catch (Throwable t) {
             ExceptionUtils.handleThrowable(t);



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

Reply via email to