Author: violetagg Date: Sat Jan 2 19:55:16 2016 New Revision: 1722656 URL: http://svn.apache.org/viewvc?rev=1722656&view=rev Log: Use monitor object for synchronization
Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardService.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java?rev=1722656&r1=1722655&r2=1722656&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardServer.java Sat Jan 2 19:55:16 2016 @@ -134,6 +134,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(); /** @@ -350,7 +351,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; @@ -539,7 +540,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]); @@ -582,7 +583,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]) { @@ -732,7 +733,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/tc7.0.x/trunk/java/org/apache/catalina/core/StandardService.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardService.java?rev=1722656&r1=1722655&r2=1722656&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardService.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardService.java Sat Jan 2 19:55:16 2016 @@ -90,6 +90,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(); /** * @@ -229,7 +230,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); @@ -294,7 +295,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]) { @@ -451,7 +452,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 @@ -480,7 +481,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(); @@ -504,7 +505,7 @@ public class StandardService extends Lif } // Now stop the connectors - synchronized (connectors) { + synchronized (connectorsLock) { for (Connector connector: connectors) { if (!LifecycleState.STARTED.equals( connector.getState())) { @@ -553,7 +554,7 @@ public class StandardService extends Lif } // Initialize our defined Connectors - synchronized (connectors) { + synchronized (connectorsLock) { for (Connector connector : connectors) { try { connector.init(); @@ -572,7 +573,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