Before closing process events already present in queue

Project: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/commit/a4869173
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/tree/a4869173
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4cxx/diff/a4869173

Branch: refs/heads/master
Commit: a48691731b7f36f9909df55e7fc8e401554bb049
Parents: 98141e5
Author: Denys Smolianiuk <[email protected]>
Authored: Wed Aug 29 16:49:10 2018 +0300
Committer: Denys Smolianiuk <[email protected]>
Committed: Wed Aug 29 16:49:10 2018 +0300

----------------------------------------------------------------------
 src/main/cpp/asyncappender_nonblocking.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4cxx/blob/a4869173/src/main/cpp/asyncappender_nonblocking.cpp
----------------------------------------------------------------------
diff --git a/src/main/cpp/asyncappender_nonblocking.cpp 
b/src/main/cpp/asyncappender_nonblocking.cpp
index b6cedfa..25ad7ff 100644
--- a/src/main/cpp/asyncappender_nonblocking.cpp
+++ b/src/main/cpp/asyncappender_nonblocking.cpp
@@ -340,7 +340,7 @@ 
AsyncAppender::DiscardSummary::createEvent(::log4cxx::helpers::Pool& p,
 void* LOG4CXX_THREAD_FUNC AsyncAppender::dispatch(apr_thread_t* /*thread*/, 
void* data) {
     AsyncAppender* pThis = (AsyncAppender*) data;
     try {
-        while (!pThis->closed) {
+        while (!pThis->closed || !pThis->buffer.empty()) {
 
              pThis->bufferNotEmpty.await();
 

Reply via email to