Author: markt Date: Tue Mar 6 11:32:42 2018 New Revision: 1825978 URL: http://svn.apache.org/viewvc?rev=1825978&view=rev Log: SpotBugs Correctly construct singleton in a thread-safe manner
Modified: tomcat/trunk/java/org/apache/catalina/security/SecurityConfig.java Modified: tomcat/trunk/java/org/apache/catalina/security/SecurityConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityConfig.java?rev=1825978&r1=1825977&r2=1825978&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/security/SecurityConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/security/SecurityConfig.java Tue Mar 6 11:32:42 2018 @@ -28,7 +28,9 @@ import org.apache.juli.logging.LogFactor * @author the Catalina.java authors */ public final class SecurityConfig{ - private static SecurityConfig singleton = null; + + private static final Object singeltonLock = new Object(); + private static volatile SecurityConfig singleton = null; private static final Log log = LogFactory.getLog(SecurityConfig.class); @@ -83,8 +85,12 @@ public final class SecurityConfig{ * @return an instance of that class. */ public static SecurityConfig newInstance(){ - if (singleton == null){ - singleton = new SecurityConfig(); + if (singleton == null) { + synchronized (singeltonLock) { + if (singleton == null) { + singleton = new SecurityConfig(); + } + } } return singleton; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org