aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/authserver/authserver.conf.dist6
-rwxr-xr-xsrc/server/game/World/World.cpp4
-rwxr-xr-xsrc/server/shared/Database/DatabaseWorkerPool.h14
-rw-r--r--src/server/worldserver/worldserver.conf.dist6
4 files changed, 13 insertions, 17 deletions
diff --git a/src/server/authserver/authserver.conf.dist b/src/server/authserver/authserver.conf.dist
index 6fed0efe0ed..6f1af3e2d8d 100644
--- a/src/server/authserver/authserver.conf.dist
+++ b/src/server/authserver/authserver.conf.dist
@@ -40,10 +40,10 @@ LogsDir = ""
#
# MaxPingTime
-# Description: Time (in seconds) between database pings.
-# Default: 1800 - (30 minutes)
+# Description: Time (in minutes) between database pings.
+# Default: 30 - (minutes)
-MaxPingTime = 1800
+MaxPingTime = 30
#
# RealmServerPort
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 3a73fa295f6..c8f38b2eb85 100755
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1185,7 +1185,7 @@ void World::LoadConfigSettings(bool reload)
m_int_configs[CONFIG_AUTOBROADCAST_INTERVAL] = sConfig.GetIntDefault("AutoBroadcast.Timer", 60000);
// MySQL ping time interval
- m_int_configs[CONFIG_DB_PING_INTERVAL] = sConfig.GetIntDefault("MaxPingTime", 1800);
+ m_int_configs[CONFIG_DB_PING_INTERVAL] = sConfig.GetIntDefault("MaxPingTime", 30);
sScriptMgr.OnConfigLoad(reload);
}
@@ -1650,7 +1650,7 @@ void World::SetInitialWorldSettings()
m_timers[WUPDATE_AUTOBROADCAST].SetInterval(getIntConfig(CONFIG_AUTOBROADCAST_INTERVAL));
m_timers[WUPDATE_DELETECHARS].SetInterval(DAY*IN_MILLISECONDS); // check for chars to delete every day
- m_timers[WUPDATE_PINGDB].SetInterval(getIntConfig(CONFIG_DB_PING_INTERVAL)*IN_MILLISECONDS); // Mysql ping time in seconds
+ m_timers[WUPDATE_PINGDB].SetInterval(getIntConfig(CONFIG_DB_PING_INTERVAL)*MINUTE*IN_MILLISECONDS); // Mysql ping time in minutes
//to set mailtimer to return mails every day between 4 and 5 am
//mailtimer is increased when updating auctions
diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/shared/Database/DatabaseWorkerPool.h
index 5cfb8af2155..6de6cf630c0 100755
--- a/src/server/shared/Database/DatabaseWorkerPool.h
+++ b/src/server/shared/Database/DatabaseWorkerPool.h
@@ -18,7 +18,6 @@
#ifndef _DATABASEWORKERPOOL_H
#define _DATABASEWORKERPOOL_H
-#include <ace/Atomic_Op_T.h>
#include <ace/Thread_Mutex.h>
#include "Common.h"
@@ -53,9 +52,6 @@ class DatabaseWorkerPool
{
template <class Y> friend class DatabaseWorker;
- private:
- typedef ACE_Atomic_Op<ACE_SYNCH_MUTEX, uint32> AtomicUInt;
-
public:
DatabaseWorkerPool() :
m_queue(new ACE_Activation_Queue(new ACE_Message_Queue<ACE_MT_SYNCH>)),
@@ -90,7 +86,7 @@ class DatabaseWorkerPool
for (uint8 i = 0; i < delaythreads; ++i)
m_delaythreads[i] = new DatabaseWorker<ThisClass>(m_queue, this);
- sLog.outSQLDriver("Databasepool opened succesfuly. %u connections running.", (uint32)m_connectionCount.value());
+ sLog.outSQLDriver("Databasepool opened succesfuly. %u connections running.", m_connectionCount);
return true;
}
@@ -105,7 +101,7 @@ class DatabaseWorkerPool
m_delaythreads[i]->wait();
/// Shut down the connections
- for (uint8 i = 0; i < m_connections.size(); ++i)
+ for (uint8 i = 0; i < m_connectionCount; ++i)
{
T* t = m_connections[i];
while (1)
@@ -302,7 +298,7 @@ class DatabaseWorkerPool
void KeepAlive()
{
/// Ping connections
- for (uint8 i = 0; i < m_connections.size(); ++i)
+ for (uint8 i = 0; i < m_connectionCount; ++i)
{
T* t = m_connections[i];
if (t->LockIfReady())
@@ -319,7 +315,7 @@ class DatabaseWorkerPool
uint8 i = 0;
for (;;) /// Block forever until a connection is free
{
- T* t = m_connections[++i % m_connectionCount.value()];
+ T* t = m_connections[++i % m_connectionCount];
if (t->LockIfReady()) /// Must be matched with t->Unlock() or you will get deadlocks
return t;
}
@@ -350,7 +346,7 @@ class DatabaseWorkerPool
ACE_Activation_Queue* m_queue; //! Queue shared by async worker threads.
std::vector<T*> m_connections;
- AtomicUInt m_connectionCount; //! Counter of MySQL connections;
+ uint8 m_connectionCount; //! Counter of MySQL connections;
MySQLConnectionInfo m_connectionInfo;
std::vector<DatabaseWorker<ThisClass>*> m_delaythreads; //! Delaythreads (templatized)
};
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 6815f27d00b..3721c78e78a 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -118,10 +118,10 @@ CharacterDatabase.Connections = 2
#
# MaxPingTime
-# Description: Time (in seconds) between database pings.
-# Default: 1800 - (30 minutes)
+# Description: Time (in minutes) between database pings.
+# Default: 30 - (minutes)
-MaxPingTime = 1800
+MaxPingTime = 30
#
# WorldServerPort