-
Bug
-
Resolution: Fixed
-
P3
-
None
-
b137
-
generic
-
generic
-
Not verified
Here's a change to make "lookup" fields be more memory-model-correct:
diff --git a/src/java.base/share/classes/java/util/ListResourceBundle.java b/src/java.base/share/classes/java/util/ListResourceBundle.java
--- a/src/java.base/share/classes/java/util/ListResourceBundle.java
+++ b/src/java.base/share/classes/java/util/ListResourceBundle.java
@@ -206,5 +206,5 @@
lookup = temp;
}
- private Map<String,Object> lookup = null;
+ private volatile Map<String,Object> lookup = null;
}
diff --git a/src/java.base/share/classes/java/util/PropertyResourceBundle.java b/src/java.base/share/classes/java/util/PropertyResourceBundle.java
--- a/src/java.base/share/classes/java/util/PropertyResourceBundle.java
+++ b/src/java.base/share/classes/java/util/PropertyResourceBundle.java
@@ -236,5 +236,5 @@
// ==================privates====================
- private Map<String,Object> lookup;
+ private final Map<String,Object> lookup;
}
diff --git a/src/java.base/share/classes/java/util/ListResourceBundle.java b/src/java.base/share/classes/java/util/ListResourceBundle.java
--- a/src/java.base/share/classes/java/util/ListResourceBundle.java
+++ b/src/java.base/share/classes/java/util/ListResourceBundle.java
@@ -206,5 +206,5 @@
lookup = temp;
}
- private Map<String,Object> lookup = null;
+ private volatile Map<String,Object> lookup = null;
}
diff --git a/src/java.base/share/classes/java/util/PropertyResourceBundle.java b/src/java.base/share/classes/java/util/PropertyResourceBundle.java
--- a/src/java.base/share/classes/java/util/PropertyResourceBundle.java
+++ b/src/java.base/share/classes/java/util/PropertyResourceBundle.java
@@ -236,5 +236,5 @@
// ==================privates====================
- private Map<String,Object> lookup;
+ private final Map<String,Object> lookup;
}