groovy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pascal Schumacher <pascalschumac...@gmx.net>
Subject Re: groovy git commit: Fixing squid:S2444 - Lazy initialization of "static" fields should be "synchronized"
Date Wed, 06 Jan 2016 07:50:57 GMT
No need to apologize.

It's good that you review changes and point out potential problems. :)

Thanks!

Am 06.01.2016 um 00:27 schrieb John Wagenleitner:
> My mistake, I didn't know there was a PR associated that Jochen had 
> already reviewed.  Sorry about that.
>
> On Tue, Jan 5, 2016 at 2:45 PM, Pascal Schumacher 
> <pascalschumacher@gmx.net <mailto:pascalschumacher@gmx.net>> wrote:
>
>     Yes, I agree the change most likely reduces performance, but
>     increases thread-safety  (prevent that different Threads may work
>     with different Metaclasses etc.)
>
>     I do not know enough about this area of the code to judge if the
>     lack of thread-safety is really a concern.
>
>     I just merged the pull request because of Jochens +1 vote.
>
>
>     Am 05.01.2016 um 20:31 schrieb John Wagenleitner:
>>     Not sure but wonder if HandleMetaClass#myMetaClass was static to
>>     avoid having to perform a lookup for each HMC instance.  Probably
>>     not a issue but thought I'd bring attention to it.
>>
>>     On Tue, Jan 5, 2016 at 10:13 AM, <pascalschumacher@apache.org
>>     <mailto:pascalschumacher@apache.org>> wrote:
>>
>>         Repository: groovy
>>         Updated Branches:
>>           refs/heads/master 586a316da -> c5f17abbe
>>
>>
>>         Fixing squid:S2444 - Lazy initialization of "static" fields
>>         should be "synchronized"
>>
>>         <snip>
>>
>>         http://git-wip-us.apache.org/repos/asf/groovy/blob/c5f17abb/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
>>         ----------------------------------------------------------------------
>>         diff --git
>>         a/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
>>         b/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
>>         index f421131..9167f5c 100644
>>         --- a/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
>>         +++ b/src/main/org/codehaus/groovy/runtime/HandleMetaClass.java
>>         @@ -24,7 +24,7 @@ import java.lang.reflect.Method;
>>
>>          public class HandleMetaClass extends DelegatingMetaClass {
>>              private Object object;
>>         -    private static MetaClass myMetaClass;
>>         +    private MetaClass myMetaClass;
>>              private static final Object NONE = new Object();
>>
>>              public HandleMetaClass(MetaClass mc) {
>>
>>         <snip>
>>
>
>


Mime
View raw message