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: [email protected]
For additional commands, e-mail: [email protected]