33 lines
1.5 KiB
Diff
33 lines
1.5 KiB
Diff
|
|
From 631500b0c9b2a2a2abb707e3de2e10a5936e5d41 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Mark Thomas <markt@apache.org>
|
||
|
|
Date: Fri, 15 Nov 2024 15:55:37 +0000
|
||
|
|
Subject: [PATCH] Fix for inconsistent metadata was incomplete
|
||
|
|
|
||
|
|
Origin: https://github.com/apache/tomcat/commit/631500b0c9b2a2a2abb707e3de2e10a5936e5d41
|
||
|
|
Need to add key to map once created so it is visible to other threads
|
||
|
|
---
|
||
|
|
java/org/apache/catalina/webresources/DirResourceSet.java | 2 ++
|
||
|
|
webapps/docs/changelog.xml | 4 ++++
|
||
|
|
2 files changed, 6 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/java/org/apache/catalina/webresources/DirResourceSet.java b/java/org/apache/catalina/webresources/DirResourceSet.java
|
||
|
|
index 02ddc6ec887c..f1d4e86199ee 100644
|
||
|
|
--- a/java/org/apache/catalina/webresources/DirResourceSet.java
|
||
|
|
+++ b/java/org/apache/catalina/webresources/DirResourceSet.java
|
||
|
|
@@ -382,6 +382,7 @@ public ResourceLock lockForRead(String path) {
|
||
|
|
resourceLock = resourceLocksByPath.get(key);
|
||
|
|
if (resourceLock == null) {
|
||
|
|
resourceLock = new ResourceLock(key);
|
||
|
|
+ resourceLocksByPath.put(key, resourceLock);
|
||
|
|
}
|
||
|
|
resourceLock.count.incrementAndGet();
|
||
|
|
}
|
||
|
|
@@ -419,6 +420,7 @@ public ResourceLock lockForWrite(String path) {
|
||
|
|
resourceLock = resourceLocksByPath.get(key);
|
||
|
|
if (resourceLock == null) {
|
||
|
|
resourceLock = new ResourceLock(key);
|
||
|
|
+ resourceLocksByPath.put(key, resourceLock);
|
||
|
|
}
|
||
|
|
resourceLock.count.incrementAndGet();
|
||
|
|
}
|