diff options
| author | XTZGZoReX <none@none> | 2010-01-23 22:24:41 +0100 |
|---|---|---|
| committer | XTZGZoReX <none@none> | 2010-01-23 22:24:41 +0100 |
| commit | 9f00ca3eb884399479009ae5d5a1224c047d0650 (patch) | |
| tree | 1ba2681bb2ca1c7e4ad9b4334f1b725d222b44ed /src/game/GameObject.cpp | |
| parent | fe07518bafe3f0a52630ce09ee5742453f2f6801 (diff) | |
* Remove CellLock class and all cell-level thread locking.
** It was wasting CPU power as cell-level locking is not needed.
** Our multithreading is on map-level, not cell-level.
** CellLock was just a 'proxy' between Cell and CellPair and in some cases carried redundant data.
** Some minor cleanup in Cell::Visit/Map::Visit.
--HG--
branch : trunk
Diffstat (limited to 'src/game/GameObject.cpp')
| -rw-r--r-- | src/game/GameObject.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp index 5d6f730a045..2b69dac6134 100644 --- a/src/game/GameObject.cpp +++ b/src/game/GameObject.cpp @@ -883,8 +883,7 @@ void GameObject::TriggeringLinkedGameObject(uint32 trapEntry, Unit* target) Trinity::GameObjectLastSearcher<Trinity::NearestGameObjectEntryInObjectRangeCheck> checker(this, trapGO,go_check); TypeContainerVisitor<Trinity::GameObjectLastSearcher<Trinity::NearestGameObjectEntryInObjectRangeCheck>, GridTypeMapContainer > object_checker(checker); - CellLock<GridReadGuard> cell_lock(cell, p); - cell_lock->Visit(cell_lock, object_checker, *GetMap(), *target, range); + cell.Visit(p, object_checker, *GetMap(), *target, range); } // found correct GO @@ -903,10 +902,8 @@ GameObject* GameObject::LookupFishingHoleAround(float range) Trinity::NearestGameObjectFishingHole u_check(*this, range); Trinity::GameObjectSearcher<Trinity::NearestGameObjectFishingHole> checker(this, ok, u_check); - CellLock<GridReadGuard> cell_lock(cell, p); - TypeContainerVisitor<Trinity::GameObjectSearcher<Trinity::NearestGameObjectFishingHole>, GridTypeMapContainer > grid_object_checker(checker); - cell_lock->Visit(cell_lock, grid_object_checker, *GetMap(), *this, range); + cell.Visit(p, grid_object_checker, *GetMap(), *this, range); return ok; } |
