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 <[email protected]> Authored: Sat Sep 20 13:59:38 2014 +0900 Committer: rpopma <[email protected]> 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>
