This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-resolver.git
commit adb0e8eb653a8cc71499b730840f6ad2aa6ed71d Author: Guillaume Nodet <[email protected]> AuthorDate: Sun Jun 7 06:20:03 2026 +0000 Fix IpcClient field visibility — make socket/output/input volatile F-02: Declare socket, output, input, and receiver fields as volatile so that writes in close(Throwable) are visible to concurrent readers in send() and receive() without requiring synchronization on this. --- .../src/main/java/org/eclipse/aether/named/ipc/IpcClient.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/maven-resolver-named-locks-ipc/src/main/java/org/eclipse/aether/named/ipc/IpcClient.java b/maven-resolver-named-locks-ipc/src/main/java/org/eclipse/aether/named/ipc/IpcClient.java index f7f9a643f..852bdcc66 100644 --- a/maven-resolver-named-locks-ipc/src/main/java/org/eclipse/aether/named/ipc/IpcClient.java +++ b/maven-resolver-named-locks-ipc/src/main/java/org/eclipse/aether/named/ipc/IpcClient.java @@ -81,10 +81,10 @@ public class IpcClient { protected final Path syncPath; protected final boolean noFork; - protected SocketChannel socket; - protected DataOutputStream output; - protected DataInputStream input; - protected Thread receiver; + protected volatile SocketChannel socket; + protected volatile DataOutputStream output; + protected volatile DataInputStream input; + protected volatile Thread receiver; protected final AtomicInteger requestId = new AtomicInteger(); protected final Map<Integer, CompletableFuture<List<String>>> responses = new ConcurrentHashMap<>();
