diff --git a/src/server/game/Globals/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp index 6c2974bef2..0975703491 100644 --- a/src/server/game/Globals/ObjectAccessor.cpp +++ b/src/server/game/Globals/ObjectAccessor.cpp @@ -30,9 +30,6 @@ #include "Transport.h" #include "World.h" -#include -#include - template void HashMapHolder::Insert(T* o) { @@ -40,7 +37,7 @@ void HashMapHolder::Insert(T* o) || std::is_same::value, "Only Player and MapTransport can be registered in global HashMapHolder"); - boost::unique_lock lock(*GetLock()); + std::unique_lock lock(*GetLock()); GetContainer()[o->GetGUID()] = o; } @@ -48,7 +45,7 @@ void HashMapHolder::Insert(T* o) template void HashMapHolder::Remove(T* o) { - boost::unique_lock lock(*GetLock()); + std::unique_lock lock(*GetLock()); GetContainer().erase(o->GetGUID()); } @@ -56,7 +53,7 @@ void HashMapHolder::Remove(T* o) template T* HashMapHolder::Find(ObjectGuid guid) { - boost::shared_lock lock(*GetLock()); + std::shared_lock lock(*GetLock()); typename MapType::iterator itr = GetContainer().find(guid); return (itr != GetContainer().end()) ? itr->second : nullptr; @@ -70,9 +67,9 @@ auto HashMapHolder::GetContainer() -> MapType& } template -boost::shared_mutex* HashMapHolder::GetLock() +std::shared_mutex* HashMapHolder::GetLock() { - static boost::shared_mutex _lock; + static std::shared_mutex _lock; return &_lock; } @@ -283,7 +280,7 @@ Player* ObjectAccessor::FindConnectedPlayerByName(std::string const& name) void ObjectAccessor::SaveAllPlayers() { - boost::shared_lock lock(*HashMapHolder::GetLock()); + std::shared_lock lock(*HashMapHolder::GetLock()); HashMapHolder::MapType const& m = GetPlayers(); for (HashMapHolder::MapType::const_iterator itr = m.begin(); itr != m.end(); ++itr) diff --git a/src/server/game/Globals/ObjectAccessor.h b/src/server/game/Globals/ObjectAccessor.h index c7e9da2d62..1338bda3ec 100644 --- a/src/server/game/Globals/ObjectAccessor.h +++ b/src/server/game/Globals/ObjectAccessor.h @@ -19,6 +19,7 @@ #define TRINITY_OBJECTACCESSOR_H #include "ObjectGuid.h" +#include #include class AreaTrigger; @@ -35,11 +36,6 @@ class MapTransport; class Unit; class WorldObject; -namespace boost -{ - class shared_mutex; -} - template class TC_GAME_API HashMapHolder { @@ -57,7 +53,7 @@ public: static MapType& GetContainer(); - static boost::shared_mutex* GetLock(); + static std::shared_mutex* GetLock(); }; namespace ObjectAccessor diff --git a/src/server/game/Loot/LootItemStorage.cpp b/src/server/game/Loot/LootItemStorage.cpp index 684dcbd3cd..f9da53ae4d 100644 --- a/src/server/game/Loot/LootItemStorage.cpp +++ b/src/server/game/Loot/LootItemStorage.cpp @@ -25,9 +25,6 @@ #include "ObjectMgr.h" #include "Player.h" -#include -#include - #include namespace @@ -47,9 +44,9 @@ LootItemStorage* LootItemStorage::instance() return &instance; } -boost::shared_mutex* LootItemStorage::GetLock() +std::shared_mutex* LootItemStorage::GetLock() { - static boost::shared_mutex _lock; + static std::shared_mutex _lock; return &_lock; } @@ -140,7 +137,7 @@ bool LootItemStorage::LoadStoredLoot(Item* item, Player* player) // read { - boost::shared_lock lock(*GetLock()); + std::shared_lock lock(*GetLock()); auto itr = _lootItemStore.find(loot->containerID); if (itr == _lootItemStore.end()) @@ -191,7 +188,7 @@ bool LootItemStorage::LoadStoredLoot(Item* item, Player* player) void LootItemStorage::RemoveStoredMoneyForContainer(uint32 containerId) { // write - boost::unique_lock lock(*GetLock()); + std::unique_lock lock(*GetLock()); auto itr = _lootItemStore.find(containerId); if (itr == _lootItemStore.end()) @@ -204,7 +201,7 @@ void LootItemStorage::RemoveStoredLootForContainer(uint32 containerId) { // write { - boost::unique_lock lock(*GetLock()); + std::unique_lock lock(*GetLock()); _lootItemStore.erase(containerId); } @@ -223,7 +220,7 @@ void LootItemStorage::RemoveStoredLootForContainer(uint32 containerId) void LootItemStorage::RemoveStoredLootItemForContainer(uint32 containerId, uint32 itemId, uint32 count) { // write - boost::unique_lock lock(*GetLock()); + std::unique_lock lock(*GetLock()); auto itr = _lootItemStore.find(containerId); if (itr == _lootItemStore.end()) @@ -240,7 +237,7 @@ void LootItemStorage::AddNewStoredLoot(Loot* loot, Player* player) // read { - boost::shared_lock lock(*GetLock()); + std::shared_lock lock(*GetLock()); auto itr = _lootItemStore.find(loot->containerID); if (itr != _lootItemStore.end()) @@ -282,7 +279,7 @@ void LootItemStorage::AddNewStoredLoot(Loot* loot, Player* player) // write { - boost::unique_lock lock(*GetLock()); + std::unique_lock lock(*GetLock()); _lootItemStore.emplace(loot->containerID, std::move(container)); } } diff --git a/src/server/game/Loot/LootItemStorage.h b/src/server/game/Loot/LootItemStorage.h index 3cc1ef1502..7fcfbf1d89 100644 --- a/src/server/game/Loot/LootItemStorage.h +++ b/src/server/game/Loot/LootItemStorage.h @@ -21,17 +21,13 @@ #include "Define.h" #include "DatabaseEnvFwd.h" +#include #include class Item; class Player; struct Loot; struct LootItem; -namespace boost -{ - class shared_mutex; -} - struct StoredLootItem { explicit StoredLootItem(LootItem const& lootItem); @@ -75,7 +71,7 @@ class LootItemStorage { public: static LootItemStorage* instance(); - static boost::shared_mutex* GetLock(); + static std::shared_mutex* GetLock(); void LoadStorageFromDB(); bool LoadStoredLoot(Item* item, Player* player); diff --git a/src/server/game/Warden/WardenCheckMgr.cpp b/src/server/game/Warden/WardenCheckMgr.cpp index 26a071e5ed..1ac5ad0ee1 100644 --- a/src/server/game/Warden/WardenCheckMgr.cpp +++ b/src/server/game/Warden/WardenCheckMgr.cpp @@ -167,7 +167,7 @@ void WardenCheckMgr::LoadWardenOverrides() uint32 count = 0; - boost::unique_lock lock(sWardenCheckMgr->_checkStoreLock); + std::unique_lock lock(sWardenCheckMgr->_checkStoreLock); do { diff --git a/src/server/game/Warden/WardenCheckMgr.h b/src/server/game/Warden/WardenCheckMgr.h index 57b3deda81..9784740e7a 100644 --- a/src/server/game/Warden/WardenCheckMgr.h +++ b/src/server/game/Warden/WardenCheckMgr.h @@ -19,8 +19,7 @@ #define _WARDENCHECKMGR_H #include -#include -#include +#include #include "Cryptography/BigNumber.h" enum WardenActions @@ -69,7 +68,7 @@ class TC_GAME_API WardenCheckMgr void LoadWardenChecks(); void LoadWardenOverrides(); - boost::shared_mutex _checkStoreLock; + std::shared_mutex _checkStoreLock; private: CheckContainer CheckStore; diff --git a/src/server/game/Warden/WardenWin.cpp b/src/server/game/Warden/WardenWin.cpp index dd1a453048..bf7427d135 100644 --- a/src/server/game/Warden/WardenWin.cpp +++ b/src/server/game/Warden/WardenWin.cpp @@ -206,7 +206,7 @@ void WardenWin::RequestData() ByteBuffer buff; buff << uint8(WARDEN_SMSG_CHEAT_CHECKS_REQUEST); - boost::shared_lock lock(sWardenCheckMgr->_checkStoreLock); + std::shared_lock lock(sWardenCheckMgr->_checkStoreLock); for (uint32 i = 0; i < sWorld->getIntConfig(CONFIG_WARDEN_NUM_OTHER_CHECKS); ++i) { @@ -369,7 +369,7 @@ void WardenWin::HandleData(ByteBuffer &buff) uint8 type; uint16 checkFailed = 0; - boost::shared_lock lock(sWardenCheckMgr->_checkStoreLock); + std::shared_lock lock(sWardenCheckMgr->_checkStoreLock); for (std::list::iterator itr = _currentChecks.begin(); itr != _currentChecks.end(); ++itr) { diff --git a/src/server/scripts/Commands/cs_gm.cpp b/src/server/scripts/Commands/cs_gm.cpp index 056bfab5a8..605bdc0f23 100644 --- a/src/server/scripts/Commands/cs_gm.cpp +++ b/src/server/scripts/Commands/cs_gm.cpp @@ -34,8 +34,6 @@ EndScriptData */ #include "Realm.h" #include "World.h" #include "WorldSession.h" -#include -#include class gm_commandscript : public CommandScript { @@ -124,7 +122,7 @@ public: bool first = true; bool footer = false; - boost::shared_lock lock(*HashMapHolder::GetLock()); + std::shared_lock lock(*HashMapHolder::GetLock()); HashMapHolder::MapType const& m = ObjectAccessor::GetPlayers(); for (HashMapHolder::MapType::const_iterator itr = m.begin(); itr != m.end(); ++itr) { diff --git a/src/server/scripts/Commands/cs_reset.cpp b/src/server/scripts/Commands/cs_reset.cpp index dcf044c458..bb0625908c 100644 --- a/src/server/scripts/Commands/cs_reset.cpp +++ b/src/server/scripts/Commands/cs_reset.cpp @@ -34,8 +34,6 @@ EndScriptData */ #include "RBAC.h" #include "World.h" #include "WorldSession.h" -#include -#include class reset_commandscript : public CommandScript { @@ -299,7 +297,7 @@ public: stmt->setUInt16(0, uint16(atLogin)); CharacterDatabase.Execute(stmt); - boost::shared_lock lock(*HashMapHolder::GetLock()); + std::shared_lock lock(*HashMapHolder::GetLock()); HashMapHolder::MapType const& plist = ObjectAccessor::GetPlayers(); for (HashMapHolder::MapType::const_iterator itr = plist.begin(); itr != plist.end(); ++itr) itr->second->SetAtLoginFlag(atLogin);