From: fhanik Date: Tue, 17 Nov 2009 17:35:57 +0000 (+0000) Subject: Make the file handler thread safe X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=e142de61713285a4cb0abfd5203919d4aec2150c;p=tomcat7.0 Make the file handler thread safe git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@881396 13f79535-47bb-0310-9956-ffa450edef68 --- 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);