You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/09/11 06:28:15 UTC

[34/50] logging-log4j2 git commit: LOG4J2-1349 freeze context data so that shared copies cannot be modified

LOG4J2-1349 freeze context data so that shared copies cannot be modified


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/950b62f6
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/950b62f6
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/950b62f6

Branch: refs/heads/master
Commit: 950b62f6272ea1d6a44d49320614f5113ff8aea2
Parents: 945bfe0
Author: rpopma <rp...@apache.org>
Authored: Sun Sep 4 15:54:02 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Sep 4 15:54:02 2016 +0900

----------------------------------------------------------------------
 .../logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/950b62f6/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
index 81c69d5..57348dd 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
@@ -104,6 +104,7 @@ class CopyOnWriteSortedArrayThreadContextMap implements ThreadContextMap, Thread
         MutableContextData map = localMap.get();
         map = map == null ? createMutableContextData() : createMutableContextData(map);
         map.putValue(key, value);
+        map.freeze();
         localMap.set(map);
     }
 
@@ -117,6 +118,7 @@ class CopyOnWriteSortedArrayThreadContextMap implements ThreadContextMap, Thread
         for (final Map.Entry<String, String> entry : values.entrySet()) {
             map.putValue(entry.getKey(), entry.getValue());
         }
+        map.freeze();
         localMap.set(map);
     }
 
@@ -132,6 +134,7 @@ class CopyOnWriteSortedArrayThreadContextMap implements ThreadContextMap, Thread
         if (map != null) {
             final MutableContextData copy = createMutableContextData(map);
             copy.remove(key);
+            copy.freeze();
             localMap.set(copy);
         }
     }