When IMMD call exit(), there is a race condition in IMMD which's
thread call TraceLog::Log which the destructor of TraceLog instance
is being called as part of exit handler.

This patch disables TraceLog desctrutor to avoid the coredump, the
memory granted to the process would be reclaimed by the OS after
process's death.
---
 src/base/logtrace_client.cc | 5 -----
 src/base/logtrace_client.h  | 1 -
 2 files changed, 6 deletions(-)

diff --git a/src/base/logtrace_client.cc b/src/base/logtrace_client.cc
index 0dac6d3..e181831 100644
--- a/src/base/logtrace_client.cc
+++ b/src/base/logtrace_client.cc
@@ -28,11 +28,6 @@ TraceLog::TraceLog()
   log_socket_ = nullptr;
 }
 
-TraceLog::~TraceLog() {
-  if (mutex_) delete mutex_;
-  if (log_socket_) delete log_socket_;
-}
-
 bool TraceLog::Init(const char *msg_id, WriteMode mode) {
   char app_name[NAME_MAX];
   char pid_path[PATH_MAX];
diff --git a/src/base/logtrace_client.h b/src/base/logtrace_client.h
index eac31d0..c2219e2 100644
--- a/src/base/logtrace_client.h
+++ b/src/base/logtrace_client.h
@@ -35,7 +35,6 @@ class TraceLog {
   void Log(base::LogMessage::Severity severity, const char *fmt,
                   va_list ap);
   TraceLog();
-  ~TraceLog();
 
  private:
   void LogInternal(base::LogMessage::Severity severity, const char *fmt,
-- 
2.7.4


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to