Core/Threading: Fixed lock type used in HashMapHolder::Insert - a write lock is needed there, not a read lock

This commit is contained in:
Shauren
2014-07-26 01:36:54 +02:00
parent e516265703
commit a98737d5d9
+3 -1
View File
@@ -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;
}