You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2015/11/08 17:52:42 UTC

svn commit: r1713248 - in /tomcat/trunk/java/org/apache: coyote/ajp/AjpNioProtocol.java coyote/http11/Http11NioProtocol.java tomcat/util/net/NioEndpoint.java

Author: markt
Date: Sun Nov  8 16:52:41 2015
New Revision: 1713248

URL: http://svn.apache.org/viewvc?rev=1713248&view=rev
Log:
No need for NioEndpoint.Handler.release() since if there is no
attachment there can't be an associated Processor to release

Modified:
    tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
    tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
    tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java?rev=1713248&r1=1713247&r2=1713248&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpNioProtocol.java Sun Nov  8 16:52:41 2015
@@ -16,10 +16,6 @@
  */
 package org.apache.coyote.ajp;
 
-import java.nio.channels.SocketChannel;
-import java.util.Iterator;
-
-import org.apache.coyote.Processor;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.net.NioChannel;
@@ -69,31 +65,5 @@ public class AjpNioProtocol extends Abst
         protected Log getLog() {
             return log;
         }
-
-        /**
-         * Expected to be used by the Poller to release resources on socket
-         * close, errors etc.
-         */
-        @Override
-        public void release(SocketChannel socket) {
-            if (log.isDebugEnabled())
-                log.debug(sm.getString("ajpnioprotocol.releaseStart", socket));
-            boolean released = false;
-            Iterator<java.util.Map.Entry<NioChannel, Processor>> it = connections.entrySet().iterator();
-            while (it.hasNext()) {
-                java.util.Map.Entry<NioChannel, Processor> entry = it.next();
-                if (entry.getKey().getIOChannel()==socket) {
-                    it.remove();
-                    Processor result = entry.getValue();
-                    result.recycle();
-                    unregister(result);
-                    released = true;
-                    break;
-                }
-            }
-            if (log.isDebugEnabled())
-                log.debug(sm.getString("ajpnioprotocol.releaseEnd",
-                        socket, Boolean.valueOf(released)));
-        }
     }
 }

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1713248&r1=1713247&r2=1713248&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Sun Nov  8 16:52:41 2015
@@ -16,10 +16,6 @@
  */
 package org.apache.coyote.http11;
 
-import java.nio.channels.SocketChannel;
-import java.util.Iterator;
-
-import org.apache.coyote.Processor;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
 import org.apache.tomcat.util.net.NioChannel;
@@ -105,31 +101,5 @@ public class Http11NioProtocol extends A
         protected Log getLog() {
             return log;
         }
-
-
-        /**
-         * Expected to be used by the Poller to release resources on socket
-         * close, errors etc.
-         */
-        @Override
-        public void release(SocketChannel socket) {
-            if (log.isDebugEnabled())
-                log.debug("Iterating through our connections to release a socket channel:"+socket);
-            boolean released = false;
-            Iterator<java.util.Map.Entry<NioChannel, Processor>> it = connections.entrySet().iterator();
-            while (it.hasNext()) {
-                java.util.Map.Entry<NioChannel, Processor> entry = it.next();
-                if (entry.getKey().getIOChannel()==socket) {
-                    it.remove();
-                    Processor result = entry.getValue();
-                    result.recycle();
-                    unregister(result);
-                    released = true;
-                    break;
-                }
-            }
-            if (log.isDebugEnabled())
-                log.debug("Done iterating through our connections to release a socket channel:"+socket +" released:"+released);
-        }
     }
 }

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1713248&r1=1713247&r2=1713248&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Sun Nov  8 16:52:41 2015
@@ -771,8 +771,11 @@ public class NioEndpoint extends Abstrac
             try {
                 if ( key == null ) return null;//nothing to do
                 ka = (NioSocketWrapper) key.attach(null);
-                if (ka!=null) handler.release(ka);
-                else handler.release((SocketChannel)key.channel());
+                if (ka != null) {
+                    // If attachment is non-null then there may be a current
+                    // connection with an associated processor.
+                    handler.release(ka);
+                }
                 if (key.isValid()) key.cancel();
                 if (key.channel().isOpen()) {
                     try {
@@ -1460,7 +1463,6 @@ public class NioEndpoint extends Abstrac
      * thread local fields.
      */
     public interface Handler extends AbstractEndpoint.Handler<NioChannel> {
-        public void release(SocketChannel socket);
     }
 
 



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