Core/Logging: Force synchronous logging after io_service shutdown - fixes logging on worldserver shutdown

(cherry picked from commit a0b2be6c1d)
This commit is contained in:
Shauren
2016-02-23 23:41:18 +01:00
committed by Aokromes
parent 9d4e537a62
commit fe64bdddb3
3 changed files with 10 additions and 0 deletions

View File

@@ -337,6 +337,13 @@ void Log::Initialize(boost::asio::io_service* ioService)
LoadFromConfig();
}
void Log::SetSynchronous()
{
delete _strand;
_strand = nullptr;
_ioService = nullptr;
}
void Log::LoadFromConfig()
{
Close();

View File

@@ -47,6 +47,7 @@ class Log
static Log* instance();
void Initialize(boost::asio::io_service* ioService);
void SetSynchronous(); // Not threadsafe - should only be called from main() after all threads are joined
void LoadFromConfig();
void Close();
bool ShouldLog(std::string const& type, LogLevel level) const;

View File

@@ -248,6 +248,8 @@ extern int main(int argc, char** argv)
// Shutdown starts here
ShutdownThreadPool(threadPool);
sLog->SetSynchronous();
sScriptMgr->OnShutdown();
sIpcContext->Close();