Return-Path: X-Original-To: apmail-logging-commits-archive@minotaur.apache.org Delivered-To: apmail-logging-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D8296104D8 for ; Wed, 17 Jul 2013 21:59:50 +0000 (UTC) Received: (qmail 85140 invoked by uid 500); 17 Jul 2013 21:59:50 -0000 Delivered-To: apmail-logging-commits-archive@logging.apache.org Received: (qmail 85122 invoked by uid 500); 17 Jul 2013 21:59:50 -0000 Mailing-List: contact commits-help@logging.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@logging.apache.org Delivered-To: mailing list commits@logging.apache.org Received: (qmail 85115 invoked by uid 99); 17 Jul 2013 21:59:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Jul 2013 21:59:50 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Jul 2013 21:59:49 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 087892388906; Wed, 17 Jul 2013 21:59:29 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1504297 - in /logging/log4j/log4j2/trunk: core/src/main/java/org/apache/logging/log4j/core/appender/ core/src/main/java/org/apache/logging/log4j/core/appender/rolling/ src/changes/ Date: Wed, 17 Jul 2013 21:59:28 -0000 To: commits@logging.apache.org From: rpopma@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20130717215929.087892388906@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: rpopma Date: Wed Jul 17 21:59:28 2013 New Revision: 1504297 URL: http://svn.apache.org/r1504297 Log: LOG4J2-311: fixes thread-safe issue in manager classes: access to buffer/stream must be in synchronized block or method Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileManager.java logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FastRollingFileManager.java logging/log4j/log4j2/trunk/src/changes/changes.xml Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileManager.java URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileManager.java?rev=1504297&r1=1504296&r2=1504297&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileManager.java (original) +++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/FastFileManager.java Wed Jul 17 21:59:28 2013 @@ -104,7 +104,7 @@ public class FastFileManager extends Out } @Override - public void flush() { + public synchronized void flush() { buffer.flip(); try { randomAccessFile.write(buffer.array(), 0, buffer.limit()); @@ -116,7 +116,7 @@ public class FastFileManager extends Out } @Override - public void close() { + public synchronized void close() { flush(); try { randomAccessFile.close(); Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java?rev=1504297&r1=1504296&r2=1504297&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java (original) +++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java Wed Jul 17 21:59:28 2013 @@ -129,7 +129,7 @@ public class OutputStreamManager extends write(bytes, 0, bytes.length); } - protected void close() { + protected synchronized void close() { final OutputStream stream = os; // access volatile field only once per method if (stream == System.out || stream == System.err) { return; @@ -144,7 +144,7 @@ public class OutputStreamManager extends /** * Flush any buffers. */ - public void flush() { + public synchronized void flush() { try { os.flush(); } catch (final IOException ex) { Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FastRollingFileManager.java URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FastRollingFileManager.java?rev=1504297&r1=1504296&r2=1504297&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FastRollingFileManager.java (original) +++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FastRollingFileManager.java Wed Jul 17 21:59:28 2013 @@ -99,7 +99,7 @@ public class FastRollingFileManager exte } @Override - public void flush() { + public synchronized void flush() { buffer.flip(); try { randomAccessFile.write(buffer.array(), 0, buffer.limit()); @@ -111,7 +111,7 @@ public class FastRollingFileManager exte } @Override - public void close() { + public synchronized void close() { flush(); try { randomAccessFile.close(); Modified: logging/log4j/log4j2/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/changes/changes.xml?rev=1504297&r1=1504296&r2=1504297&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/src/changes/changes.xml (original) +++ logging/log4j/log4j2/trunk/src/changes/changes.xml Wed Jul 17 21:59:28 2013 @@ -21,6 +21,9 @@ + + Synchronized flush() and close() methods in the XxxFileManager and OutputStreamManager classes. + XML layout improvements (compact vs. pretty, namespace, namespace prefix, root element).