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 2016/05/31 21:17:59 UTC

svn commit: r1746351 - in /tomcat/tc8.5.x/trunk: ./ java/org/apache/coyote/ java/org/apache/coyote/http11/ java/org/apache/tomcat/util/net/

Author: markt
Date: Tue May 31 21:17:59 2016
New Revision: 1746351

URL: http://svn.apache.org/viewvc?rev=1746351&view=rev
Log:
SocketWrapperBase.socket is final and is always created non-null.
Remove unnecessary null checks

Modified:
    tomcat/tc8.5.x/trunk/   (props changed)
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java
    tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
    tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java

Propchange: tomcat/tc8.5.x/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue May 31 21:17:59 2016
@@ -1 +1 @@
-/tomcat/trunk:1734785,1734799,1734845,1734928,1735041,1735044,1735480,1735577,1735597,1735599-1735600,1735615,1736145,1736162,1736209,1736280,1736297,1736299,1736489,1736646,1736703,1736836,1736849,1737104-1737105,1737112,1737117,1737119-1737120,1737155,1737157,1737192,1737280,1737339,1737632,1737664,1737715,1737748,1737785,1737834,1737860,1737959,1738005,1738007,1738014-1738015,1738018,1738022,1738039,1738043,1738059-1738060,1738147,1738149,1738174-1738175,1738261,1738589,1738623-1738625,1738643,1738816,1738850,1738855,1738946-1738948,1738953-1738954,1738979,1738982,1739079-1739081,1739087,1739113,1739153,1739172,1739176,1739191,1739474,1739726,1739762,1739775,1739814,1739817-1739818,1739975,1740131,1740324,1740465,1740495,1740508-1740509,1740520,1740535,1740707,1740803,1740810,1740969,1740980,1740991,1740997,1741015,1741033,1741036,1741058,1741060,1741080,1741147,1741159,1741164,1741173,1741181,1741190,1741197,1741202,1741208,1741213,1741221,1741225,1741232,1741409,1741501,1741677
 ,1741892,1741896,1741984,1742023,1742042,1742071,1742090,1742093,1742101,1742105,1742111,1742139,1742146,1742148,1742166,1742181,1742184,1742187,1742246,1742248-1742251,1742263-1742264,1742268,1742276,1742369,1742387,1742448,1742509-1742512,1742917,1742919,1742933,1742975-1742976,1742984,1742986,1743019,1743115,1743117,1743124-1743125,1743134,1743425,1743554,1743679,1743696-1743698,1743700-1743701,1744058,1744064-1744065,1744125,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745576,1745735,1745744,1746304,1746306-1746307,1746319,1746327,1746338,1746340-1746341
+/tomcat/trunk:1734785,1734799,1734845,1734928,1735041,1735044,1735480,1735577,1735597,1735599-1735600,1735615,1736145,1736162,1736209,1736280,1736297,1736299,1736489,1736646,1736703,1736836,1736849,1737104-1737105,1737112,1737117,1737119-1737120,1737155,1737157,1737192,1737280,1737339,1737632,1737664,1737715,1737748,1737785,1737834,1737860,1737959,1738005,1738007,1738014-1738015,1738018,1738022,1738039,1738043,1738059-1738060,1738147,1738149,1738174-1738175,1738261,1738589,1738623-1738625,1738643,1738816,1738850,1738855,1738946-1738948,1738953-1738954,1738979,1738982,1739079-1739081,1739087,1739113,1739153,1739172,1739176,1739191,1739474,1739726,1739762,1739775,1739814,1739817-1739818,1739975,1740131,1740324,1740465,1740495,1740508-1740509,1740520,1740535,1740707,1740803,1740810,1740969,1740980,1740991,1740997,1741015,1741033,1741036,1741058,1741060,1741080,1741147,1741159,1741164,1741173,1741181,1741190,1741197,1741202,1741208,1741213,1741221,1741225,1741232,1741409,1741501,1741677
 ,1741892,1741896,1741984,1742023,1742042,1742071,1742090,1742093,1742101,1742105,1742111,1742139,1742146,1742148,1742166,1742181,1742184,1742187,1742246,1742248-1742251,1742263-1742264,1742268,1742276,1742369,1742387,1742448,1742509-1742512,1742917,1742919,1742933,1742975-1742976,1742984,1742986,1743019,1743115,1743117,1743124-1743125,1743134,1743425,1743554,1743679,1743696-1743698,1743700-1743701,1744058,1744064-1744065,1744125,1744194,1744229,1744270,1744323,1744432,1744684,1744697,1744705,1744713,1744760,1744786,1745142-1745143,1745145,1745177,1745179-1745180,1745227,1745248,1745254,1745337,1745467,1745576,1745735,1745744,1746304,1746306-1746307,1746319,1746327,1746338,1746340-1746341,1746344

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1746351&r1=1746350&r2=1746351&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/AbstractProtocol.java Tue May 31 21:17:59 2016
@@ -716,10 +716,6 @@ public abstract class AbstractProtocol<S
             }
 
             S socket = wrapper.getSocket();
-            if (socket == null) {
-                // Nothing to do. Socket has been closed.
-                return SocketState.CLOSED;
-            }
 
             Processor processor = connections.get(socket);
             if (status == SocketEvent.DISCONNECT && processor == null) {
@@ -975,11 +971,9 @@ public abstract class AbstractProtocol<S
         @Override
         public void release(SocketWrapperBase<S> socketWrapper) {
             S socket = socketWrapper.getSocket();
-            if (socket != null) {
-                Processor processor = connections.remove(socket);
-                //getProtocol().removeWaitingProcessor(processor);
-                release(processor);
-            }
+            Processor processor = connections.remove(socket);
+            //getProtocol().removeWaitingProcessor(processor);
+            release(processor);
         }
 
 

Modified: tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1746351&r1=1746350&r2=1746351&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/coyote/http11/Http11Processor.java Tue May 31 21:17:59 2016
@@ -825,7 +825,7 @@ public class Http11Processor extends Abs
             break;
         }
         case REQ_SSL_CERTIFICATE: {
-            if (sslSupport != null && socketWrapper.getSocket() != null) {
+            if (sslSupport != null) {
                 // Consume and buffer the request body, so that it does not
                 // interfere with the client's handshake messages
                 InputFilter[] inputFilters = inputBuffer.getFilters();

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1746351&r1=1746350&r2=1746351&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Tue May 31 21:17:59 2016
@@ -2261,10 +2261,6 @@ public class AprEndpoint extends Abstrac
         public void run() {
             synchronized (socketWrapper) {
                 // Process the request from this socket
-                if (socketWrapper.getSocket() == null) {
-                    // Closed in another thread
-                    return;
-                }
                 SocketState state = getHandler().process(socketWrapper, event);
                 if (state == Handler.SocketState.CLOSED) {
                     // Close socket and pool

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1746351&r1=1746350&r2=1746351&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Tue May 31 21:17:59 2016
@@ -424,12 +424,10 @@ public class Nio2Endpoint extends Abstra
             if (log.isDebugEnabled()) log.error("",e);
         }
         try {
-            if (socket.getSocket() != null) {
-                synchronized (socket.getSocket()) {
-                    if (socket.getSocket() != null && socket.getSocket().isOpen()) {
-                        countDownConnection();
-                        socket.getSocket().close(true);
-                    }
+            synchronized (socket.getSocket()) {
+                if (socket.getSocket().isOpen()) {
+                    countDownConnection();
+                    socket.getSocket().close(true);
                 }
             }
         } catch (Throwable e) {
@@ -942,10 +940,7 @@ public class Nio2Endpoint extends Abstra
 
         @Override
         public void close() throws IOException {
-            Nio2Channel socket = getSocket();
-            if (socket != null) {
-                socket.close();
-            }
+            getSocket().close();
         }
 
         @Override
@@ -1395,9 +1390,6 @@ public class Nio2Endpoint extends Abstra
 
 
         public void awaitBytes() {
-            if (getSocket() == null) {
-                return;
-            }
             // NO-OP is there is already a read in progress.
             if (readPending.tryAcquire()) {
                 getSocket().getBufHandler().configureReadBufferForWrite();
@@ -1643,26 +1635,24 @@ public class Nio2Endpoint extends Abstra
                     int handshake = -1;
 
                     try {
-                        if (socketWrapper.getSocket() != null) {
-                            // For STOP there is no point trying to handshake as the
-                            // Poller has been stopped.
-                            if (!socketWrapper.getSocket().isHandshakeComplete() && event == SocketEvent.ERROR) {
-                                handshake = -1;
-                            } else if (socketWrapper.getSocket().isHandshakeComplete() ||
-                                    event == SocketEvent.STOP ||
-                                    event == SocketEvent.ERROR) {
-                                handshake = 0;
-                            } else {
-                                handshake = socketWrapper.getSocket().handshake();
-                                // The handshake process reads/writes from/to the
-                                // socket. status may therefore be OPEN_WRITE once
-                                // the handshake completes. However, the handshake
-                                // happens when the socket is opened so the status
-                                // must always be OPEN_READ after it completes. It
-                                // is OK to always set this as it is only used if
-                                // the handshake completes.
-                                event = SocketEvent.OPEN_READ;
-                            }
+                        // For STOP there is no point trying to handshake as the
+                        // Poller has been stopped.
+                        if (!socketWrapper.getSocket().isHandshakeComplete() && event == SocketEvent.ERROR) {
+                            handshake = -1;
+                        } else if (socketWrapper.getSocket().isHandshakeComplete() ||
+                                event == SocketEvent.STOP ||
+                                event == SocketEvent.ERROR) {
+                            handshake = 0;
+                        } else {
+                            handshake = socketWrapper.getSocket().handshake();
+                            // The handshake process reads/writes from/to the
+                            // socket. status may therefore be OPEN_WRITE once
+                            // the handshake completes. However, the handshake
+                            // happens when the socket is opened so the status
+                            // must always be OPEN_READ after it completes. It
+                            // is OK to always set this as it is only used if
+                            // the handshake completes.
+                            event = SocketEvent.OPEN_READ;
                         }
                     } catch (IOException x) {
                         handshake = -1;

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java?rev=1746351&r1=1746350&r2=1746351&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java Tue May 31 21:17:59 2016
@@ -245,7 +245,6 @@ public class NioBlockingSelector {
         public void add(final NioSocketWrapper key, final int ops, final KeyReference ref) {
             if ( key == null ) return;
             NioChannel nch = key.getSocket();
-            if ( nch == null ) return;
             final SocketChannel ch = nch.getIOChannel();
             if ( ch == null ) return;
 
@@ -276,7 +275,6 @@ public class NioBlockingSelector {
         public void remove(final NioSocketWrapper key, final int ops) {
             if ( key == null ) return;
             NioChannel nch = key.getSocket();
-            if ( nch == null ) return;
             final SocketChannel ch = nch.getIOChannel();
             if ( ch == null ) return;
 

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1746351&r1=1746350&r2=1746351&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Tue May 31 21:17:59 2016
@@ -1230,10 +1230,7 @@ public class NioEndpoint extends Abstrac
 
         @Override
         public void close() throws IOException {
-            NioChannel socket = getSocket();
-            if (socket != null) {
-                socket.close();
-            }
+            getSocket().close();
         }
 
 
@@ -1432,9 +1429,6 @@ public class NioEndpoint extends Abstrac
         @Override
         public void run() {
             NioChannel socket = socketWrapper.getSocket();
-            if (socket == null) {
-                return;
-            }
             SelectionKey key = socket.getIOChannel().keyFor(
                     socket.getPoller().getSelector());
 

Modified: tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1746351&r1=1746350&r2=1746351&view=diff
==============================================================================
--- tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (original)
+++ tomcat/tc8.5.x/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Tue May 31 21:17:59 2016
@@ -312,7 +312,7 @@ public abstract class SocketWrapperBase<
      * @throws IOException If an IO error occurs during the write
      */
     public final void write(boolean block, byte[] buf, int off, int len) throws IOException {
-        if (len == 0 || buf == null || getSocket() == null) {
+        if (len == 0 || buf == null) {
             return;
         }
 
@@ -412,10 +412,6 @@ public abstract class SocketWrapperBase<
      * @throws IOException If an IO error occurs during the write
      */
     public boolean flush(boolean block) throws IOException {
-        if (getSocket() == null) {
-            return false;
-        }
-
         boolean result = false;
         if (block) {
             // A blocking flush will always empty the buffer.



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