You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/07/07 08:20:45 UTC
svn commit: r1608344 -
/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
Author: mattsicker
Date: Mon Jul 7 06:20:45 2014
New Revision: 1608344
URL: http://svn.apache.org/r1608344
Log:
Increase scope of shutdown lock to address thread safety concern in LOG4J2-702.
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
Modified: logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java?rev=1608344&r1=1608343&r2=1608344&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java (original)
+++ logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java Mon Jul 7 06:20:45 2014
@@ -370,20 +370,22 @@ public class LoggerConfig extends Abstra
* loggerConfig.
*/
private void waitForCompletion() {
- if (shutdown.compareAndSet(false, true)) {
- int retries = 0;
- while (counter.get() > 0) {
- shutdownLock.lock();
- try {
- noLogEvents.await(retries + 1, TimeUnit.SECONDS);
- } catch (final InterruptedException ie) {
- if (++retries > MAX_RETRIES) {
- break;
+ shutdownLock.lock();
+ try {
+ if (shutdown.compareAndSet(false, true)) {
+ int retries = 0;
+ while (counter.get() > 0) {
+ try {
+ noLogEvents.await(retries + 1, TimeUnit.SECONDS);
+ } catch (final InterruptedException ie) {
+ if (++retries > MAX_RETRIES) {
+ break;
+ }
}
- } finally {
- shutdownLock.unlock();
}
}
+ } finally {
+ shutdownLock.unlock();
}
}