On 06/03/18 13:26, Andrei Ivanov wrote: > On Tue, Mar 6, 2018 at 1:32 PM, <ma...@apache.org> wrote: > >> 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; >> } >> > > Hi, > There's a typo on singeltonLock.
Thanks. I'll fix that. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org