I wonder if we need to review all close methods for stuff like that? Gary ---------- Forwarded message ---------- From: <[email protected]> Date: Oct 24, 2016 6:03 AM Subject: logging-log4j2 git commit: LOG4J-1644 adding locking for clearing registry To: <[email protected]> Cc:
Repository: logging-log4j2 Updated Branches: refs/heads/master 6ffcd1e2c -> 5620da723 LOG4J-1644 adding locking for clearing registry Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/ commit/5620da72 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/5620da72 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/5620da72 Branch: refs/heads/master Commit: 5620da7237b3b20755b97aefe49037c84095fc5c Parents: 6ffcd1e Author: Mikael Ståldal <[email protected]> Authored: Mon Oct 24 15:03:44 2016 +0200 Committer: Mikael Ståldal <[email protected]> Committed: Mon Oct 24 15:03:44 2016 +0200 ---------------------------------------------------------------------- .../org/apache/logging/log4j/spi/AbstractLoggerAdapter.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ 5620da72/log4j-api/src/main/java/org/apache/logging/log4j/ spi/AbstractLoggerAdapter.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/ AbstractLoggerAdapter.java index 33c8745..a3eb31d 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/ AbstractLoggerAdapter.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/ AbstractLoggerAdapter.java @@ -124,6 +124,11 @@ public abstract class AbstractLoggerAdapter<L> implements LoggerAdapter<L> { @Override public void close() { - registry.clear(); + lock.writeLock ().lock (); + try { + registry.clear(); + } finally { + lock.writeLock ().unlock (); + } } }
