On Mon, 1 Dec 2025 10:40:17 GMT, Alan Bateman <[email protected]> wrote:

>> Jaikiran Pai has updated the pull request incrementally with two additional 
>> commits since the last revision:
>> 
>>  - 8372787: ModuleReader should throw IOException consistently when using 
>> --patch-module and ModuleReader is closed
>>  - Revert "8372787: ModulePatcher throws unspecified IllegalStateException 
>> upon being invoked after close()"
>>    
>>    This reverts commit 42cfa0aa40926b748c6d7bdf814d85ca1ccd8fed.
>
> src/java.base/share/classes/jdk/internal/module/ModulePatcher.java line 228:
> 
>> 226:         private final URL delegateCodeSourceURL;
>> 227:         private volatile ModuleReader delegate;
>> 228:         private volatile boolean closed;
> 
> A ModuleReader is specified to not require to support async close, so need to 
> think about whether the closed flag should be volatile or not.

My original motivation to use `volatile` for `closed` was to match what we have 
for `delegate`. But the volatile on that, I believe, is for a different reason 
(for example: to avoid multiple `delegate` creations when different entry 
points into the `ModuleReader` are used concurrently).

In the latest update of the PR I have retained the `volatile` on `closed`, but 
I'm leaning towards removing that. But I'll wait for your input.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28569#discussion_r2576618790

Reply via email to