Core/Threading: Fixed lock type used in HashMapHolder::Insert - a write lock is needed there, not a read lock
This commit is contained in:
@@ -51,7 +51,7 @@ class HashMapHolder
|
||||
|
||||
static void Insert(T* o)
|
||||
{
|
||||
boost::shared_lock<boost::shared_mutex> lock(_lock);
|
||||
boost::unique_lock<boost::shared_mutex> lock(_lock);
|
||||
|
||||
_objectMap[o->GetGUID()] = o;
|
||||
}
|
||||
@@ -59,12 +59,14 @@ class HashMapHolder
|
||||
static void Remove(T* o)
|
||||
{
|
||||
boost::unique_lock<boost::shared_mutex> lock(_lock);
|
||||
|
||||
_objectMap.erase(o->GetGUID());
|
||||
}
|
||||
|
||||
static T* Find(uint64 guid)
|
||||
{
|
||||
boost::shared_lock<boost::shared_mutex> lock(_lock);
|
||||
|
||||
typename MapType::iterator itr = _objectMap.find(guid);
|
||||
return (itr != _objectMap.end()) ? itr->second : NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user