aboutsummaryrefslogtreecommitdiff
path: root/src/server/worldserver/Master.cpp
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2011-01-16 00:08:52 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2011-01-16 00:08:52 +0100
commit52cd2cbd7eb62648ae13f600c125116e8cdfc89d (patch)
treedecb09f8360ccfcb17c5d436a33b0dd7af4d274e /src/server/worldserver/Master.cpp
parent58564cc496d675372d4a9062b463bdbc338f50cc (diff)
Core/Maps: Unload transports in MapManager::UnloadAll instead of singleton destructor.
Core/Transports: Properly delink units from transports on transport desutruction. - Thanks to Shauren for help. Core/ObjectAccessor: Unload corpse 'storage' in added UnloadAll method called in WorldRunnable postservice hook. Core/Master: Change some postservice queries to syncrhonous (direct) execution to ensure execution on shutdown Core/Master: Remove redundant calls to ACE::init and ACE::fini These changes were made to fix crash/freeze issues on shutdown.
Diffstat (limited to 'src/server/worldserver/Master.cpp')
-rwxr-xr-xsrc/server/worldserver/Master.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/server/worldserver/Master.cpp b/src/server/worldserver/Master.cpp
index 7dd4c1fa930..b4d9fa7eb7c 100755
--- a/src/server/worldserver/Master.cpp
+++ b/src/server/worldserver/Master.cpp
@@ -174,7 +174,7 @@ int Master::Run()
CoredSignalHandler SignalBREAK;
#endif /* _WIN32 */
- // Register realmd's signal handlers
+ // Register core's signal handlers
ACE_Sig_Handler Handler;
Handler.register_handler(SIGINT, &SignalINT);
Handler.register_handler(SIGTERM, &SignalTERM);
@@ -290,7 +290,7 @@ int Master::Run()
}
// set server offline
- LoginDatabase.PExecute("UPDATE realmlist SET color = color | %u WHERE id = '%d'", REALM_FLAG_OFFLINE, realmID);
+ LoginDatabase.DirectPExecute("UPDATE realmlist SET color = color | %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
@@ -484,12 +484,12 @@ void Master::clearOnlineAccounts()
{
// Cleanup online status for characters hosted at current realm
/// \todo Only accounts with characters logged on *this* realm should have online status reset. Move the online column from 'account' to 'realmcharacters'?
- LoginDatabase.PExecute(
+ LoginDatabase.DirectPExecute(
"UPDATE account SET online = 0 WHERE online > 0 "
"AND id IN (SELECT acctid FROM realmcharacters WHERE realmid = '%d')",realmID);
- CharacterDatabase.Execute("UPDATE characters SET online = 0 WHERE online<>0");
+ CharacterDatabase.DirectExecute("UPDATE characters SET online = 0 WHERE online<>0");
// Battleground instance ids reset at server restart
- CharacterDatabase.Execute("UPDATE character_battleground_data SET instance_id = 0");
+ CharacterDatabase.DirectExecute("UPDATE character_battleground_data SET instance_id = 0");
}