diff options
| -rw-r--r-- | src/server/authserver/authserver.conf.dist | 6 | ||||
| -rwxr-xr-x | src/server/game/World/World.cpp | 4 | ||||
| -rwxr-xr-x | src/server/shared/Database/DatabaseWorkerPool.h | 14 | ||||
| -rw-r--r-- | src/server/worldserver/worldserver.conf.dist | 6 | 
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  | 
