This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 80688892b50d02acef05686f54451d85f725de77 Author: Mark Thomas <[email protected]> AuthorDate: Thu Nov 25 13:50:42 2021 +0000 Improve thread safety of open and close --- java/org/apache/juli/AsyncFileHandler.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/java/org/apache/juli/AsyncFileHandler.java b/java/org/apache/juli/AsyncFileHandler.java index 20a9e16..3ad32ab 100644 --- a/java/org/apache/juli/AsyncFileHandler.java +++ b/java/org/apache/juli/AsyncFileHandler.java @@ -68,6 +68,7 @@ public class AsyncFileHandler extends FileHandler { logger.start(); } + private final Object closeLock = new Object(); protected volatile boolean closed = false; public AsyncFileHandler() { @@ -88,7 +89,12 @@ public class AsyncFileHandler extends FileHandler { if (closed) { return; } - closed = true; + synchronized (closeLock) { + if (closed) { + return; + } + closed = true; + } super.close(); } @@ -97,7 +103,12 @@ public class AsyncFileHandler extends FileHandler { if (!closed) { return; } - closed = false; + synchronized (closeLock) { + if (!closed) { + return; + } + closed = false; + } super.open(); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
