Re: svn commit: r1825978 - /tomcat/trunk/java/org/apache/catalina/security/SecurityConfig.java

2018-03-06 Thread Mark Thomas
On 06/03/18 13:26, Andrei Ivanov wrote:
> On Tue, Mar 6, 2018 at 1:32 PM,  wrote:
> 
>> Author: markt
>> Date: Tue Mar  6 11:32:42 2018
>> New Revision: 1825978
>>
>> URL: http://svn.apache.org/viewvc?rev=1825978=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=1825977=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



Re: svn commit: r1825978 - /tomcat/trunk/java/org/apache/catalina/security/SecurityConfig.java

2018-03-06 Thread Andrei Ivanov
On Tue, Mar 6, 2018 at 1:32 PM,  wrote:

> Author: markt
> Date: Tue Mar  6 11:32:42 2018
> New Revision: 1825978
>
> URL: http://svn.apache.org/viewvc?rev=1825978=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=1825977=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.