aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/DynamicMMapTileBuilder.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-11-30 14:25:32 +0100
committerShauren <shauren.trinity@gmail.com>2025-11-30 14:25:32 +0100
commit90be8fafb39469bd2c318c033e63294ebaad2ca4 (patch)
tree2d2d5424e54339b7581f9e224e909d6f08003136 /src/server/game/Maps/DynamicMMapTileBuilder.cpp
parentd3f2aee245d62c70c940831531b17da821053f91 (diff)
Core/Misc: Use std::scoped_lock instead of unique_lock where possible (and old lock_guard)
Diffstat (limited to 'src/server/game/Maps/DynamicMMapTileBuilder.cpp')
-rw-r--r--src/server/game/Maps/DynamicMMapTileBuilder.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Maps/DynamicMMapTileBuilder.cpp b/src/server/game/Maps/DynamicMMapTileBuilder.cpp
index 49205597853..984dc4a7edc 100644
--- a/src/server/game/Maps/DynamicMMapTileBuilder.cpp
+++ b/src/server/game/Maps/DynamicMMapTileBuilder.cpp
@@ -165,7 +165,7 @@ struct TileCache
private:
void OnCacheCleanupTimerTick(boost::system::error_code const& error)
{
- if (error)
+ if (error || !_builderThread.joinable() /*shutting down*/)
return;
TimePoint now = GameTime::Now();
@@ -176,7 +176,7 @@ private:
void RemoveOldCacheEntries(TimePoint oldestPreservedEntryTimestamp)
{
- std::lock_guard lock(TilesMutex);
+ std::scoped_lock lock(TilesMutex);
Trinity::Containers::EraseIf(Tiles, [=](std::unordered_map<TileCacheKey, Tile>::value_type const& kv)
{
return kv.second.LastAccessed < oldestPreservedEntryTimestamp;
@@ -306,7 +306,7 @@ std::weak_ptr<DynamicTileBuilder::AsyncTileResult> DynamicTileBuilder::BuildTile
cacheKey.CachedHash = std::hash<TileCacheKey>::Compute(cacheKey);
TileCache* tileCache = TileCache::Instance();
- std::lock_guard lock(tileCache->TilesMutex);
+ std::scoped_lock lock(tileCache->TilesMutex);
auto [itr, isNew] = tileCache->Tiles.try_emplace(std::move(cacheKey));
itr->second.LastAccessed = GameTime::Now();
if (!isNew)