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 436cf8b016552f8a8e930f41704e01a7b76260e7
Author: Guillaume Nodet <[email protected]>
AuthorDate: Sun Jun 7 06:48:54 2026 +0000

    Fix NamedLockFactorySupport getLock/shutdown race
    
    F-21: Re-check shutdown flag inside the locks.compute() lambda to
    prevent creating locks on a backend that was shut down between the
    initial check and the actual lock creation.
---
 .../java/org/eclipse/aether/named/support/NamedLockFactorySupport.java | 3 +++
 1 file changed, 3 insertions(+)

diff --git 
a/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java
 
b/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java
index 253587476..bee186afc 100644
--- 
a/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java
+++ 
b/maven-resolver-named-locks/src/main/java/org/eclipse/aether/named/support/NamedLockFactorySupport.java
@@ -116,6 +116,9 @@ public abstract class NamedLockFactorySupport implements 
NamedLockFactory {
 
     protected NamedLock getLockAndRefTrack(final NamedLockKey key, 
Supplier<NamedLockSupport> supplier) {
         return locks.compute(key, (k, v) -> {
+                    if (shutdown.get()) {
+                        throw new IllegalStateException("factory already shut 
down");
+                    }
                     if (v == null) {
                         v = new NamedLockHolder(supplier.get());
                     }

Reply via email to