From e142de61713285a4cb0abfd5203919d4aec2150c Mon Sep 17 00:00:00 2001 From: fhanik Date: Tue, 17 Nov 2009 17:35:57 +0000 Subject: [PATCH] Make the file handler thread safe git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@881396 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/juli/FileHandler.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/java/org/apache/juli/FileHandler.java b/java/org/apache/juli/FileHandler.java index fed325235..964722bcc 100644 --- a/java/org/apache/juli/FileHandler.java +++ b/java/org/apache/juli/FileHandler.java @@ -95,7 +95,7 @@ public class FileHandler /** * The PrintWriter to which we are currently logging, if any. */ - private PrintWriter writer = null; + private volatile PrintWriter writer = null; /** * Log buffer size @@ -143,6 +143,7 @@ public class FileHandler } try { + PrintWriter writer = this.writer; if (writer!=null) { writer.write(result); } else { @@ -170,6 +171,8 @@ public class FileHandler protected void closeWriter() { try { + PrintWriter writer = this.writer; + this.writer = null; if (writer == null) return; writer.write(getFormatter().getTail(this)); @@ -191,6 +194,9 @@ public class FileHandler public void flush() { try { + PrintWriter writer = this.writer; + if (writer==null) + return; writer.flush(); } catch (Exception e) { reportError(null, e, ErrorManager.FLUSH_FAILURE); -- 2.11.0