From 7032ee0bdb47c995dfd89bce3d5b6fad13ec6d73 Mon Sep 17 00:00:00 2001 From: Giacomo Pozzoni Date: Sat, 18 Jul 2020 16:34:45 +0000 Subject: Core/Misc: Replace boost::shared_mutex with std::shared_mutex (#24328) * Core/Misc: Replace boost::shared_mutex with std::shared_mutex * Remove std forward declarations --- src/server/game/Globals/ObjectAccessor.cpp | 15 ++++++--------- src/server/game/Globals/ObjectAccessor.h | 8 ++------ src/server/game/Loot/LootItemStorage.cpp | 19 ++++++++----------- src/server/game/Loot/LootItemStorage.h | 8 ++------ src/server/game/Warden/WardenCheckMgr.cpp | 2 +- src/server/game/Warden/WardenCheckMgr.h | 5 ++--- src/server/game/Warden/WardenWin.cpp | 4 ++-- src/server/scripts/Commands/cs_gm.cpp | 4 +--- src/server/scripts/Commands/cs_reset.cpp | 4 +--- 9 files changed, 25 insertions(+), 44 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Globals/ObjectAccessor.cpp b/src/server/game/Globals/ObjectAccessor.cpp index 49ef2545163..6d9470df4a3 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 Transport 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; } @@ -266,7 +263,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 1c2f1faad44..307ad417b27 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 Corpse; @@ -33,11 +34,6 @@ class Transport; class Unit; class WorldObject; -namespace boost -{ - class shared_mutex; -} - template class TC_GAME_API HashMapHolder { @@ -56,7 +52,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 988dabe9356..199de1a581a 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 e1c32b5aeb8..3461342d1c0 100644 --- a/src/server/game/Loot/LootItemStorage.h +++ b/src/server/game/Loot/LootItemStorage.h @@ -21,6 +21,7 @@ #include "Define.h" #include "DatabaseEnvFwd.h" +#include #include class Item; @@ -28,11 +29,6 @@ class Player; struct Loot; struct LootItem; -namespace boost -{ - class shared_mutex; -} - struct StoredLootItem { explicit StoredLootItem(LootItem const& lootItem); @@ -76,7 +72,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 365efa56bba..aa8ca22f079 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 57b3deda815..9784740e7ac 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 1d35ee53886..f973bfad79c 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 cbb5ef30b09..f6c0b021367 100644 --- a/src/server/scripts/Commands/cs_gm.cpp +++ b/src/server/scripts/Commands/cs_gm.cpp @@ -33,8 +33,6 @@ EndScriptData */ #include "Realm.h" #include "World.h" #include "WorldSession.h" -#include -#include class gm_commandscript : public CommandScript { @@ -126,7 +124,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 38b56fc2e09..06fb01f2ba9 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 { @@ -302,7 +300,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); -- cgit v1.2.3