Core/Misc: Prevent calling ACE_Task_Base::wait() on an invalid handle. WorldSocketMgr::Wait is already called in WorldRunnable post-service hook
This commit is contained in:
@@ -270,7 +270,11 @@ int Master::Run()
|
|||||||
LoginDatabase.DirectPExecute("UPDATE realmlist SET flag = flag & ~%u, population = 0 WHERE id = '%u'", REALM_FLAG_INVALID, realmID);
|
LoginDatabase.DirectPExecute("UPDATE realmlist SET flag = flag & ~%u, population = 0 WHERE id = '%u'", REALM_FLAG_INVALID, realmID);
|
||||||
|
|
||||||
sLog->outString("%s (worldserver-daemon) ready...", _FULLVERSION);
|
sLog->outString("%s (worldserver-daemon) ready...", _FULLVERSION);
|
||||||
sWorldSocketMgr->Wait();
|
|
||||||
|
// when the main thread closes the singletons get unloaded
|
||||||
|
// since worldrunnable uses them, it will crash if unloaded after master
|
||||||
|
world_thread.wait();
|
||||||
|
rar_thread.wait();
|
||||||
|
|
||||||
if (soap_thread)
|
if (soap_thread)
|
||||||
{
|
{
|
||||||
@@ -282,11 +286,6 @@ int Master::Run()
|
|||||||
// set server offline
|
// set server offline
|
||||||
LoginDatabase.DirectPExecute("UPDATE realmlist SET flag = flag | %u WHERE id = '%d'", REALM_FLAG_OFFLINE, realmID);
|
LoginDatabase.DirectPExecute("UPDATE realmlist SET flag = flag | %u WHERE id = '%d'", REALM_FLAG_OFFLINE, realmID);
|
||||||
|
|
||||||
// when the main thread closes the singletons get unloaded
|
|
||||||
// since worldrunnable uses them, it will crash if unloaded after master
|
|
||||||
world_thread.wait();
|
|
||||||
rar_thread.wait();
|
|
||||||
|
|
||||||
///- Clean database before leaving
|
///- Clean database before leaving
|
||||||
ClearOnlineAccounts();
|
ClearOnlineAccounts();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user