[7810] Moved ZThread related code on ACE framework. Author: Ambal
Remove ZThread source code from mangos. --HG-- branch : trunk
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
|
||||
#include "Platform/Define.h"
|
||||
#include "Policies/Singleton.h"
|
||||
#include "zthread/Mutex.h"
|
||||
#include "ace/Thread_Mutex.h"
|
||||
#include <list>
|
||||
#include <map>
|
||||
#include "Utilities/UnorderedMap.h"
|
||||
@@ -113,7 +113,7 @@ class InstanceSave
|
||||
bool m_canReset;
|
||||
};
|
||||
|
||||
class TRINITY_DLL_DECL InstanceSaveManager : public Trinity::Singleton<InstanceSaveManager, Trinity::ClassLevelLockable<InstanceSaveManager, ZThread::Mutex> >
|
||||
class MANGOS_DLL_DECL InstanceSaveManager : public MaNGOS::Singleton<InstanceSaveManager, MaNGOS::ClassLevelLockable<InstanceSaveManager, ACE_Thread_Mutex> >
|
||||
{
|
||||
friend class InstanceSave;
|
||||
public:
|
||||
|
||||
+9
-14
@@ -23,9 +23,9 @@
|
||||
|
||||
#include "Platform/Define.h"
|
||||
#include "Policies/ThreadingModel.h"
|
||||
#include "zthread/Lockable.h"
|
||||
#include "zthread/Mutex.h"
|
||||
#include "zthread/FairReadWriteLock.h"
|
||||
#include "ace/RW_Thread_Mutex.h"
|
||||
#include "ace/Thread_Mutex.h"
|
||||
|
||||
#include "DBCStructure.h"
|
||||
#include "GridDefines.h"
|
||||
#include "Cell.h"
|
||||
@@ -46,13 +46,8 @@ class WorldObject;
|
||||
class TempSummon;
|
||||
class CreatureGroup;
|
||||
|
||||
namespace ZThread
|
||||
{
|
||||
class Lockable;
|
||||
class ReadWriteLock;
|
||||
}
|
||||
|
||||
typedef ZThread::FairReadWriteLock GridRWLock;
|
||||
typedef ACE_RW_Thread_Mutex GridRWLock;
|
||||
|
||||
template<class MUTEX, class LOCK_TYPE>
|
||||
struct RGuard
|
||||
@@ -68,9 +63,9 @@ struct WGuard
|
||||
Trinity::GeneralLock<LOCK_TYPE> i_lock;
|
||||
};
|
||||
|
||||
typedef RGuard<GridRWLock, ZThread::Lockable> GridReadGuard;
|
||||
typedef WGuard<GridRWLock, ZThread::Lockable> GridWriteGuard;
|
||||
typedef Trinity::SingleThreaded<GridRWLock>::Lock NullGuard;
|
||||
typedef RGuard<GridRWLock, ACE_Thread_Mutex> GridReadGuard;
|
||||
typedef WGuard<GridRWLock, ACE_Thread_Mutex> GridWriteGuard;
|
||||
typedef MaNGOS::SingleThreaded<GridRWLock>::Lock NullGuard;
|
||||
|
||||
//******************************************
|
||||
// Map file format defines
|
||||
@@ -251,7 +246,7 @@ typedef UNORDERED_MAP<Creature*, CreatureMover> CreatureMoveList;
|
||||
|
||||
typedef std::map<uint32/*leaderDBGUID*/, CreatureGroup*> CreatureGroupHolderType;
|
||||
|
||||
class TRINITY_DLL_SPEC Map : public GridRefManager<NGridType>, public Trinity::ObjectLevelLockable<Map, ZThread::Mutex>
|
||||
class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::ObjectLevelLockable<Map, ACE_Thread_Mutex>
|
||||
{
|
||||
friend class MapReference;
|
||||
public:
|
||||
@@ -466,7 +461,7 @@ class TRINITY_DLL_SPEC Map : public GridRefManager<NGridType>, public Trinity::O
|
||||
protected:
|
||||
void SetUnloadReferenceLock(const GridPair &p, bool on) { getNGrid(p.x_coord, p.y_coord)->setUnloadReferenceLock(on); }
|
||||
|
||||
typedef Trinity::ObjectLevelLockable<Map, ZThread::Mutex>::Lock Guard;
|
||||
typedef MaNGOS::ObjectLevelLockable<Map, ACE_Thread_Mutex>::Lock Guard;
|
||||
|
||||
MapEntry const* i_mapEntry;
|
||||
uint8 i_spawnMode;
|
||||
|
||||
@@ -34,9 +34,9 @@
|
||||
#include "ObjectMgr.h"
|
||||
#include "Language.h"
|
||||
|
||||
#define CLASS_LOCK Trinity::ClassLevelLockable<MapManager, ZThread::Mutex>
|
||||
#define CLASS_LOCK MaNGOS::ClassLevelLockable<MapManager, ACE_Thread_Mutex>
|
||||
INSTANTIATE_SINGLETON_2(MapManager, CLASS_LOCK);
|
||||
INSTANTIATE_CLASS_MUTEX(MapManager, ZThread::Mutex);
|
||||
INSTANTIATE_CLASS_MUTEX(MapManager, ACE_Thread_Mutex);
|
||||
|
||||
extern GridState* si_GridStates[]; // debugging code, should be deleted some day
|
||||
|
||||
|
||||
@@ -23,14 +23,14 @@
|
||||
|
||||
#include "Platform/Define.h"
|
||||
#include "Policies/Singleton.h"
|
||||
#include "zthread/Mutex.h"
|
||||
#include "ace/Thread_Mutex.h"
|
||||
#include "Common.h"
|
||||
#include "Map.h"
|
||||
#include "GridStates.h"
|
||||
|
||||
class Transport;
|
||||
|
||||
class TRINITY_DLL_DECL MapManager : public Trinity::Singleton<MapManager, Trinity::ClassLevelLockable<MapManager, ZThread::Mutex> >
|
||||
class MANGOS_DLL_DECL MapManager : public MaNGOS::Singleton<MapManager, MaNGOS::ClassLevelLockable<MapManager, ACE_Thread_Mutex> >
|
||||
{
|
||||
|
||||
friend class Trinity::OperatorNew<MapManager>;
|
||||
@@ -149,7 +149,7 @@ class TRINITY_DLL_DECL MapManager : public Trinity::Singleton<MapManager, Trinit
|
||||
return (iter == i_maps.end() ? NULL : iter->second);
|
||||
}
|
||||
|
||||
typedef Trinity::ClassLevelLockable<MapManager, ZThread::Mutex>::Lock Guard;
|
||||
typedef MaNGOS::ClassLevelLockable<MapManager, ACE_Thread_Mutex>::Lock Guard;
|
||||
uint32 i_gridCleanUpDelay;
|
||||
MapMapType i_maps;
|
||||
IntervalTimer i_timer;
|
||||
|
||||
@@ -41,9 +41,9 @@
|
||||
|
||||
#include <cmath>
|
||||
|
||||
#define CLASS_LOCK Trinity::ClassLevelLockable<ObjectAccessor, ZThread::FastMutex>
|
||||
#define CLASS_LOCK MaNGOS::ClassLevelLockable<ObjectAccessor, ACE_Thread_Mutex>
|
||||
INSTANTIATE_SINGLETON_2(ObjectAccessor, CLASS_LOCK);
|
||||
INSTANTIATE_CLASS_MUTEX(ObjectAccessor, ZThread::FastMutex);
|
||||
INSTANTIATE_CLASS_MUTEX(ObjectAccessor, ACE_Thread_Mutex);
|
||||
|
||||
ObjectAccessor::ObjectAccessor() {}
|
||||
ObjectAccessor::~ObjectAccessor() {}
|
||||
@@ -470,7 +470,7 @@ ObjectAccessor::UpdateObjectVisibility(WorldObject *obj)
|
||||
/// Define the static member of HashMapHolder
|
||||
|
||||
template <class T> UNORDERED_MAP< uint64, T* > HashMapHolder<T>::m_objectMap;
|
||||
template <class T> ZThread::FastMutex HashMapHolder<T>::i_lock;
|
||||
template <class T> ACE_Thread_Mutex HashMapHolder<T>::i_lock;
|
||||
|
||||
/// Global definitions for the hashmap storage
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
#include "Platform/Define.h"
|
||||
#include "Policies/Singleton.h"
|
||||
#include "zthread/FastMutex.h"
|
||||
#include <ace/Thread_Mutex.h>
|
||||
#include "Utilities/UnorderedMap.h"
|
||||
#include "Policies/ThreadingModel.h"
|
||||
|
||||
@@ -51,8 +51,8 @@ class HashMapHolder
|
||||
public:
|
||||
|
||||
typedef UNORDERED_MAP< uint64, T* > MapType;
|
||||
typedef ZThread::FastMutex LockType;
|
||||
typedef Trinity::GeneralLock<LockType > Guard;
|
||||
typedef ACE_Thread_Mutex LockType;
|
||||
typedef MaNGOS::GeneralLock<LockType > Guard;
|
||||
|
||||
static void Insert(T* o) { m_objectMap[o->GetGUID()] = o; }
|
||||
|
||||
@@ -80,7 +80,7 @@ class HashMapHolder
|
||||
static MapType m_objectMap;
|
||||
};
|
||||
|
||||
class TRINITY_DLL_DECL ObjectAccessor : public Trinity::Singleton<ObjectAccessor, Trinity::ClassLevelLockable<ObjectAccessor, ZThread::FastMutex> >
|
||||
class MANGOS_DLL_DECL ObjectAccessor : public MaNGOS::Singleton<ObjectAccessor, MaNGOS::ClassLevelLockable<ObjectAccessor, ACE_Thread_Mutex> >
|
||||
{
|
||||
|
||||
friend class Trinity::OperatorNew<ObjectAccessor>;
|
||||
@@ -228,8 +228,8 @@ class TRINITY_DLL_DECL ObjectAccessor : public Trinity::Singleton<ObjectAccessor
|
||||
friend struct WorldObjectChangeAccumulator;
|
||||
Player2CorpsesMapType i_player2corpse;
|
||||
|
||||
typedef ZThread::FastMutex LockType;
|
||||
typedef Trinity::GeneralLock<LockType > Guard;
|
||||
typedef ACE_Thread_Mutex LockType;
|
||||
typedef MaNGOS::GeneralLock<LockType > Guard;
|
||||
|
||||
static void _buildChangeObjectForPlayer(WorldObject *, UpdateDataMapType &);
|
||||
static void _buildPacket(Player *, Object *, UpdateDataMapType &);
|
||||
|
||||
@@ -24,9 +24,6 @@
|
||||
#include "Platform/Define.h"
|
||||
#include <cassert>
|
||||
|
||||
#define MaNGOS Trinity
|
||||
#define GetMangosString GetTrinityString
|
||||
|
||||
enum Gender
|
||||
{
|
||||
GENDER_MALE = 0,
|
||||
|
||||
+2
-2
@@ -626,7 +626,7 @@ class World
|
||||
static float m_VisibleObjectGreyDistance;
|
||||
|
||||
// CLI command holder to be thread safe
|
||||
ZThread::LockedQueue<CliCommandHolder*, ZThread::FastMutex> cliCmdQueue;
|
||||
ACE_Based::LockedQueue<CliCommandHolder*,ACE_Thread_Mutex> cliCmdQueue;
|
||||
SqlResultQueue *m_resultQueue;
|
||||
|
||||
// next daily quests reset time
|
||||
@@ -637,7 +637,7 @@ class World
|
||||
|
||||
//sessions that are added async
|
||||
void AddSession_(WorldSession* s);
|
||||
ZThread::LockedQueue<WorldSession*, ZThread::FastMutex> addSessQueue;
|
||||
ACE_Based::LockedQueue<WorldSession*, ACE_Thread_Mutex> addSessQueue;
|
||||
|
||||
//used versions
|
||||
std::string m_DBVersion;
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
#include "Config/ConfigEnv.h"
|
||||
#include "Log.h"
|
||||
|
||||
#define CLASS_LOCK Trinity::ClassLevelLockable<WorldLog, ZThread::FastMutex>
|
||||
#define CLASS_LOCK MaNGOS::ClassLevelLockable<WorldLog, ACE_Thread_Mutex>
|
||||
INSTANTIATE_SINGLETON_2(WorldLog, CLASS_LOCK);
|
||||
INSTANTIATE_CLASS_MUTEX(WorldLog, ZThread::FastMutex);
|
||||
INSTANTIATE_CLASS_MUTEX(WorldLog, ACE_Thread_Mutex);
|
||||
|
||||
#define WORLD_LOG_FILE_STRING "world.log"
|
||||
|
||||
|
||||
+2
-2
@@ -32,13 +32,13 @@
|
||||
#include <stdarg.h>
|
||||
|
||||
/// %Log packets to a file
|
||||
class TRINITY_DLL_DECL WorldLog : public Trinity::Singleton<WorldLog, Trinity::ClassLevelLockable<WorldLog, ZThread::FastMutex> >
|
||||
class MANGOS_DLL_DECL WorldLog : public MaNGOS::Singleton<WorldLog, MaNGOS::ClassLevelLockable<WorldLog, ACE_Thread_Mutex> >
|
||||
{
|
||||
friend class Trinity::OperatorNew<WorldLog>;
|
||||
WorldLog();
|
||||
WorldLog(const WorldLog &);
|
||||
WorldLog& operator=(const WorldLog &);
|
||||
typedef Trinity::ClassLevelLockable<WorldLog, ZThread::FastMutex>::Lock Guard;
|
||||
typedef MaNGOS::ClassLevelLockable<WorldLog, ACE_Thread_Mutex>::Lock Guard;
|
||||
|
||||
/// Close the file in destructor
|
||||
~WorldLog();
|
||||
|
||||
@@ -719,8 +719,7 @@ class TRINITY_DLL_SPEC WorldSession
|
||||
uint32 m_latency;
|
||||
AccountData m_accountData[NUM_ACCOUNT_DATA_TYPES];
|
||||
AddonsList m_addonsList;
|
||||
|
||||
ZThread::LockedQueue<WorldPacket*,ZThread::FastMutex> _recvQueue;
|
||||
ACE_Based::LockedQueue<WorldPacket*, ACE_Thread_Mutex> _recvQueue;
|
||||
};
|
||||
#endif
|
||||
/// @}
|
||||
|
||||
Reference in New Issue
Block a user