Author: markt Date: Thu Jul 12 21:27:13 2012 New Revision: 1360957 URL: http://svn.apache.org/viewvc?rev=1360957&view=rev Log: Fix FindBugs issues (sync on mutated object)
Modified: tomcat/trunk/java/org/apache/catalina/core/StandardServer.java tomcat/trunk/java/org/apache/catalina/core/StandardService.java Modified: tomcat/trunk/java/org/apache/catalina/core/StandardServer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardServer.java?rev=1360957&r1=1360956&r2=1360957&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardServer.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardServer.java Thu Jul 12 21:27:13 2012 @@ -128,6 +128,7 @@ public final class StandardServer extend * The set of Services associated with this Server. */ private Service services[] = new Service[0]; + private final Object servicesLock = new Object(); /** @@ -336,7 +337,7 @@ public final class StandardServer extend service.setServer(this); - synchronized (services) { + synchronized (servicesLock) { Service results[] = new Service[services.length + 1]; System.arraycopy(services, 0, results, 0, services.length); results[services.length] = service; @@ -518,7 +519,7 @@ public final class StandardServer extend if (name == null) { return (null); } - synchronized (services) { + synchronized (servicesLock) { for (int i = 0; i < services.length; i++) { if (name.equals(services[i].getName())) { return (services[i]); @@ -536,7 +537,7 @@ public final class StandardServer extend @Override public Service[] findServices() { - return (services); + return services; } @@ -561,7 +562,7 @@ public final class StandardServer extend @Override public void removeService(Service service) { - synchronized (services) { + synchronized (servicesLock) { int j = -1; for (int i = 0; i < services.length; i++) { if (service == services[i]) { @@ -739,7 +740,7 @@ public final class StandardServer extend globalNamingResources.start(); // Start our defined Services - synchronized (services) { + synchronized (servicesLock) { for (int i = 0; i < services.length; i++) { services[i].start(); } Modified: tomcat/trunk/java/org/apache/catalina/core/StandardService.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardService.java?rev=1360957&r1=1360956&r2=1360957&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardService.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardService.java Thu Jul 12 21:27:13 2012 @@ -80,6 +80,7 @@ public class StandardService extends Lif * The set of Connectors associated with this Service. */ protected Connector connectors[] = new Connector[0]; + private final Object connectorsLock = new Object(); /** * @@ -204,7 +205,7 @@ public class StandardService extends Lif @Override public void addConnector(Connector connector) { - synchronized (connectors) { + synchronized (connectorsLock) { connector.setService(this); Connector results[] = new Connector[connectors.length + 1]; System.arraycopy(connectors, 0, results, 0, connectors.length); @@ -254,7 +255,7 @@ public class StandardService extends Lif @Override public Connector[] findConnectors() { - return (connectors); + return connectors; } @@ -269,7 +270,7 @@ public class StandardService extends Lif @Override public void removeConnector(Connector connector) { - synchronized (connectors) { + synchronized (connectorsLock) { int j = -1; for (int i = 0; i < connectors.length; i++) { if (connector == connectors[i]) { @@ -426,7 +427,7 @@ public class StandardService extends Lif } // Start our defined Connectors second - synchronized (connectors) { + synchronized (connectorsLock) { for (Connector connector: connectors) { try { // If it has already failed, don't try and start it @@ -455,7 +456,7 @@ public class StandardService extends Lif protected void stopInternal() throws LifecycleException { // Pause connectors first - synchronized (connectors) { + synchronized (connectorsLock) { for (Connector connector: connectors) { try { connector.pause(); @@ -479,7 +480,7 @@ public class StandardService extends Lif } // Now stop the connectors - synchronized (connectors) { + synchronized (connectorsLock) { for (Connector connector: connectors) { if (!LifecycleState.STARTED.equals( connector.getState())) { @@ -528,7 +529,7 @@ public class StandardService extends Lif } // Initialize our defined Connectors - synchronized (connectors) { + synchronized (connectorsLock) { for (Connector connector : connectors) { try { connector.init(); @@ -547,7 +548,7 @@ public class StandardService extends Lif @Override protected void destroyInternal() throws LifecycleException { // Destroy our defined Connectors - synchronized (connectors) { + synchronized (connectorsLock) { for (Connector connector : connectors) { try { connector.destroy(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org