This is an automated email from the ASF dual-hosted git repository.
swebb2066 pushed a commit to branch serialize_threads_in_close
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
The following commit(s) were added to refs/heads/serialize_threads_in_close by
this push:
new cffdaf75 Fix NTEventLogAppender
cffdaf75 is described below
commit cffdaf759d0cc2e06bf0d84d6a7e3fefd42b0c41
Author: Stephen Webb <[email protected]>
AuthorDate: Fri Mar 6 16:10:53 2026 +1100
Fix NTEventLogAppender
---
src/main/cpp/nteventlogappender.cpp | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/main/cpp/nteventlogappender.cpp
b/src/main/cpp/nteventlogappender.cpp
index ff6b57d1..e00ff4a4 100644
--- a/src/main/cpp/nteventlogappender.cpp
+++ b/src/main/cpp/nteventlogappender.cpp
@@ -50,6 +50,8 @@ struct NTEventLogAppender::NTEventLogAppenderPrivate : public
AppenderSkeleton::
LogString source;
HANDLE hEventLog;
SID* pCurrentUserSID;
+
+ void close();
};
class CCtUserSIDHelper
@@ -134,17 +136,21 @@ NTEventLogAppender::~NTEventLogAppender()
void NTEventLogAppender::close()
{
priv->setClosed();
+ priv->close();
+}
- if (priv->hEventLog != NULL)
+void NTEventLogAppender::NTEventLogAppenderPrivate::close()
+{
+ if (this->hEventLog != NULL)
{
- ::DeregisterEventSource(priv->hEventLog);
- priv->hEventLog = NULL;
+ ::DeregisterEventSource(this->hEventLog);
+ this->hEventLog = NULL;
}
- if (priv->pCurrentUserSID != NULL)
+ if (this->pCurrentUserSID != NULL)
{
- CCtUserSIDHelper::FreeSid((::SID*) priv->pCurrentUserSID);
- priv->pCurrentUserSID = NULL;
+ CCtUserSIDHelper::FreeSid((::SID*) this->pCurrentUserSID);
+ this->pCurrentUserSID = NULL;
}
}
@@ -183,7 +189,7 @@ void NTEventLogAppender::activateOptions(Pool&)
priv->log = LOG4CXX_STR("Application");
}
- close();
+ priv->close();
// current user security identifier
CCtUserSIDHelper::GetCurrentUserSID((::SID**) &priv->pCurrentUserSID);