You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2014/09/20 06:59:36 UTC
git commit: LOG4J2-830 Respect interrupt signal to allow application
shutdown after joining AsyncAppender thread.
Repository: logging-log4j2
Updated Branches:
refs/heads/master 551ae399a -> e20ac291a
LOG4J2-830 Respect interrupt signal to allow application shutdown after
joining AsyncAppender thread.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/e20ac291
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/e20ac291
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/e20ac291
Branch: refs/heads/master
Commit: e20ac291a0c65950d20de588bcfe6af0f22be2ea
Parents: 551ae39
Author: rpopma <rp...@apache.org>
Authored: Sat Sep 20 13:59:38 2014 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sat Sep 20 13:59:38 2014 +0900
----------------------------------------------------------------------
.../org/apache/logging/log4j/core/appender/AsyncAppender.java | 4 ++--
src/changes/changes.xml | 3 +++
2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e20ac291/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
index 6149726..c5fef86 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AsyncAppender.java
@@ -233,8 +233,7 @@ public final class AsyncAppender extends AbstractAppender {
continue;
}
} catch (final InterruptedException ex) {
- // No good reason for this.
- continue;
+ break; // LOG4J2-830
}
final Log4jLogEvent event = Log4jLogEvent.deserialize(s);
event.setEndOfBatch(queue.isEmpty());
@@ -266,6 +265,7 @@ public final class AsyncAppender extends AbstractAppender {
}
} catch (final InterruptedException ex) {
// May have been interrupted to shut down.
+ // Here we ignore interrupts and try to process all remaining events.
}
}
LOGGER.trace("AsyncAppender.AsyncThread stopped. Queue has {} events remaining. " +
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e20ac291/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 3873e4a..8455cf6 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
</properties>
<body>
<release version="2.1" date="2014-??-??" description="Bug fixes and enhancements">
+ <action issue="LOG4J2-830" dev="rpopma" type="fix">
+ Respect external interrupt signal to allow application shutdown after joining AsyncAppender thread.
+ </action>
<action issue="LOG4J2-813" dev="ggregory" type="fix" due-to="David Erichsen, Brandon Barry">
MarkerManager Log4jMarker.hasParents() returns opposite of correct result.
</action>