Author: markt
Date: Wed Jan 16 21:12:20 2013
New Revision: 1434403

URL: http://svn.apache.org/viewvc?rev=1434403&view=rev
Log:
Ensure sockets are always destroyed via destroySocket(). A single place
for actions on socket destroy will make later changes simpler.

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=1434403&r1=1434402&r2=1434403&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed Jan 16 
21:12:20 2013
@@ -1391,7 +1391,7 @@ public class AprEndpoint extends Abstrac
             while (info != null) {
                 if (!event || (event && !processSocket(
                         info.socket, SocketStatus.STOP))) {
-                    Socket.destroy(info.socket);
+                    destroySocket(info.socket);
                 }
                 info = addList.get();
             }
@@ -1403,7 +1403,7 @@ public class AprEndpoint extends Abstrac
                     for (int n = 0; n < rv; n++) {
                         if (!event || (event && !processSocket(
                                 desc[n*2+1], SocketStatus.STOP))) {
-                            Socket.destroy(desc[n*2+1]);
+                            destroySocket(desc[n*2+1]);
                         }
                     }
                 }
@@ -1442,7 +1442,7 @@ public class AprEndpoint extends Abstrac
                 // Can't do anything: close the socket right away
                 if (!event || (event && !processSocket(
                         socket, SocketStatus.ERROR))) {
-                    Socket.destroy(socket);
+                    destroySocket(socket);
                 }
             }
         }
@@ -1484,7 +1484,7 @@ public class AprEndpoint extends Abstrac
                 // Can't do anything: close the socket right away
                 if (!event || (event && !processSocket(
                         socket, SocketStatus.ERROR))) {
-                    Socket.destroy(socket);
+                    destroySocket(socket);
                 }
             }
         }
@@ -1543,7 +1543,7 @@ public class AprEndpoint extends Abstrac
                 removeFromPoller(socket);
                 if (!event || (event && !processSocket(
                         socket, SocketStatus.TIMEOUT))) {
-                    Socket.destroy(socket);
+                    destroySocket(socket);
                 }
                 socket = timeouts.check(date);
             }
@@ -1631,7 +1631,7 @@ public class AprEndpoint extends Abstrac
                                     // away
                                     if (!event || (event && !processSocket(
                                             info.socket, SocketStatus.ERROR))) 
{
-                                        Socket.destroy(info.socket);
+                                        destroySocket(info.socket);
                                     }
                                 } else {
                                     timeouts.add(info.socket,
@@ -1641,7 +1641,7 @@ public class AprEndpoint extends Abstrac
                             } else {
                                 // Should never happen.
                                 timeouts.remove(info.socket);
-                                Socket.destroy(info.socket);
+                                destroySocket(info.socket);
                                 getLog().warn(sm.getString(
                                         "endpoint.apr.pollAddInvalid", info));
                             }
@@ -1674,17 +1674,17 @@ public class AprEndpoint extends Abstrac
                                             || ((desc[n*2] & 
Poll.APR_POLLNVAL) == Poll.APR_POLLNVAL)) {
                                         if (!processSocket(desc[n*2+1], 
SocketStatus.ERROR)) {
                                             // Close socket and clear pool
-                                            Socket.destroy(desc[n*2+1]);
+                                            destroySocket(desc[n*2+1]);
                                         }
                                     } else if ((desc[n*2] & Poll.APR_POLLIN) 
== Poll.APR_POLLIN) {
                                         if (!processSocket(desc[n*2+1], 
SocketStatus.OPEN_READ)) {
                                             // Close socket and clear pool
-                                            Socket.destroy(desc[n*2+1]);
+                                            destroySocket(desc[n*2+1]);
                                         }
                                     } else if ((desc[n*2] & Poll.APR_POLLOUT) 
== Poll.APR_POLLOUT) {
                                         if (!processSocket(desc[n*2+1], 
SocketStatus.OPEN_WRITE)) {
                                             // Close socket and clear pool
-                                            Socket.destroy(desc[n*2+1]);
+                                            destroySocket(desc[n*2+1]);
                                         }
                                     } else {
                                         // Unknown event
@@ -1693,18 +1693,18 @@ public class AprEndpoint extends Abstrac
                                                 Long.valueOf(desc[n*2])));
                                         if (!processSocket(desc[n*2+1], 
SocketStatus.ERROR)) {
                                             // Close socket and clear pool
-                                            Socket.destroy(desc[n*2+1]);
+                                            destroySocket(desc[n*2+1]);
                                         }
                                     }
                                 } else if (((desc[n*2] & Poll.APR_POLLHUP) == 
Poll.APR_POLLHUP)
                                         || ((desc[n*2] & Poll.APR_POLLERR) == 
Poll.APR_POLLERR)
                                         || ((desc[n*2] & Poll.APR_POLLNVAL) == 
Poll.APR_POLLNVAL)) {
                                     // Close socket and clear pool
-                                    Socket.destroy(desc[n*2+1]);
+                                    destroySocket(desc[n*2+1]);
                                 } else if ((desc[n*2] & Poll.APR_POLLIN) == 
Poll.APR_POLLIN) {
                                     if (!processSocket(desc[n*2+1])) {
                                         // Close socket and clear pool
-                                        Socket.destroy(desc[n*2+1]);
+                                        destroySocket(desc[n*2+1]);
                                     }
                                 } else {
                                     // Unknown event
@@ -1712,7 +1712,7 @@ public class AprEndpoint extends Abstrac
                                             "endpoint.apr.pollUnknownEvent",
                                             Long.valueOf(desc[n*2])));
                                     // Close socket and clear pool
-                                    Socket.destroy(desc[n*2+1]);
+                                    destroySocket(desc[n*2+1]);
                                 }
                             }
                         } else if (rv < 0) {
@@ -1850,13 +1850,13 @@ public class AprEndpoint extends Abstrac
             // Close any socket remaining in the add queue
             for (int i = (addS.size() - 1); i >= 0; i--) {
                 SendfileData data = addS.get(i);
-                Socket.destroy(data.socket);
+                destroySocket(data.socket);
             }
             // Close all sockets still in the poller
             int rv = Poll.pollset(sendfilePollset, desc);
             if (rv > 0) {
                 for (int n = 0; n < rv; n++) {
-                    Socket.destroy(desc[n*2+1]);
+                    destroySocket(desc[n*2+1]);
                 }
             }
             Pool.destroy(pool);
@@ -1982,7 +1982,7 @@ public class AprEndpoint extends Abstrac
                                             Integer.valueOf(rv),
                                             Error.strerror(rv)));
                                     // Can't do anything: close the socket 
right away
-                                    Socket.destroy(data.socket);
+                                    destroySocket(data.socket);
                                 }
                             }
                             addS.clear();
@@ -2004,7 +2004,7 @@ public class AprEndpoint extends Abstrac
                                 remove(state);
                                 // Destroy file descriptor pool, which should 
close the file
                                 // Close the socket, as the response would be 
incomplete
-                                Socket.destroy(state.socket);
+                                destroySocket(state.socket);
                                 continue;
                             }
                             // Write some data using sendfile
@@ -2016,7 +2016,7 @@ public class AprEndpoint extends Abstrac
                                 remove(state);
                                 // Close the socket, as the response would be 
incomplete
                                 // This will close the file too.
-                                Socket.destroy(state.socket);
+                                destroySocket(state.socket);
                                 continue;
                             }
 
@@ -2034,7 +2034,7 @@ public class AprEndpoint extends Abstrac
                                 } else {
                                     // Close the socket since this is
                                     // the end of not keep-alive request.
-                                    Socket.destroy(state.socket);
+                                    destroySocket(state.socket);
                                 }
                             }
                         }
@@ -2070,7 +2070,7 @@ public class AprEndpoint extends Abstrac
                                 remove(state);
                                 // Destroy file descriptor pool, which should 
close the file
                                 // Close the socket, as the response would be 
incomplete
-                                Socket.destroy(state.socket);
+                                destroySocket(state.socket);
                             }
                         }
                     }



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

Reply via email to