aboutsummaryrefslogtreecommitdiff
path: root/src/server/worldserver/Master.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/worldserver/Master.cpp')
-rwxr-xr-xsrc/server/worldserver/Master.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/server/worldserver/Master.cpp b/src/server/worldserver/Master.cpp
index 451aa3c175d..7dd4c1fa930 100755
--- a/src/server/worldserver/Master.cpp
+++ b/src/server/worldserver/Master.cpp
@@ -300,10 +300,7 @@ int Master::Run()
///- Clean database before leaving
clearOnlineAccounts();
- ///- Wait for delay threads to end
- CharacterDatabase.Close();
- WorldDatabase.Close();
- LoginDatabase.Close();
+ _StopDB();
sLog->outString("Halting process...");
@@ -368,6 +365,8 @@ int Master::Run()
/// Initialize connection to the databases
bool Master::_StartDB()
{
+ MySQL::Library_Init();
+
sLog->SetLogDB(false);
std::string dbstring;
uint8 async_threads, synch_threads;
@@ -471,6 +470,15 @@ bool Master::_StartDB()
return true;
}
+void Master::_StopDB()
+{
+ CharacterDatabase.Close();
+ WorldDatabase.Close();
+ LoginDatabase.Close();
+
+ MySQL::Library_End();
+}
+
/// Clear 'online' status for all accounts with characters in this realm
void Master::clearOnlineAccounts()
{