On Tue, 24 May 2022 09:42:19 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:

>> Jaikiran Pai has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Aleksei's review suggestion - use a better Thread name
>
> src/java.base/windows/classes/sun/net/dns/ResolverConfigurationImpl.java line 
> 49:
> 
>> 47:     // Addresses have changed. We default to true to make sure we
>> 48:     // resolve the first time it is requested.
>> 49:     private static volatile boolean changed = true;
> 
> The field `changed` is only accessed when `synchronized` on `lock` - except 
> for this initialization line here. I wonder if the volatile is actually 
> needed. A better fix might be to rename it to `nochanges` and revert its 
> semantics, which would allow to leave it initialized to false.  Or maybe just 
> revert changes to line 49.
> Otherwise looks good to me.

Hello Daniel,

> The field changed is only accessed when synchronized on lock - except for 
> this initialization line here. I wonder if the volatile is actually needed. 

You are right - I had missed the fact that the `loadConfig()` method gets 
called with the `lock` held, the same lock which is then used for updating 
`changed`. So making this `volatile` isn't necessary. I have undone just the 
`volatile` change and updated this PR.

-------------

PR: https://git.openjdk.java.net/jdk/pull/8827

Reply via email to