Disable logging on static instance destruction.

This avoids possible deadlocks on exit when a logger callback exists.
This commit is contained in:
Peter Johnson
2015-09-12 21:44:51 -07:00
parent f7e603c7db
commit 6d8e796932
3 changed files with 3 additions and 0 deletions

View File

@@ -43,6 +43,7 @@ DispatcherBase::DispatcherBase(Storage& storage, Notifier& notifier)
}
DispatcherBase::~DispatcherBase() {
Logger::GetInstance().SetLogger(nullptr);
Stop();
}

View File

@@ -19,6 +19,7 @@ RpcServer::RpcServer() {
}
RpcServer::~RpcServer() {
Logger::GetInstance().SetLogger(nullptr);
Stop();
m_terminating = true;
m_poll_cond.notify_all();

View File

@@ -29,6 +29,7 @@ Storage::Storage(Notifier& notifier, RpcServer& rpc_server)
}
Storage::~Storage() {
Logger::GetInstance().SetLogger(nullptr);
m_terminating = true;
m_rpc_results_cond.notify_all();
}