Hi Minh,

I think the call to exit() should be made thread safe instead, removing the destructor may lead to

other problems such as leakages.

In the "daemonized" services _Exit() is called and no destructors are run, there were some problems

earlier when some libraries called exit(), these exits has been removed. So if exit() has to be called

it should be made thread safe.

/Thanks HansN


On 05/22/2018 08:06 AM, Minh Chau wrote:
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,


------------------------------------------------------------------------------
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