some additional locks that can be shared

This commit is contained in:
Emagi 2022-10-26 17:47:44 -04:00
parent 704122cce2
commit 6ba2dbcedb

View file

@ -214,7 +214,7 @@ PlayerGroupManager::~PlayerGroupManager() {
}
bool PlayerGroupManager::AddGroupMember(int32 group_id, Entity* member) {
std::unique_lock lock(MGroups);
std::shared_lock lock(MGroups);
bool ret = false;
if (m_groups.count(group_id) > 0) {
@ -415,7 +415,7 @@ bool PlayerGroupManager::IsGroupIDValid(int32 group_id) {
}
void PlayerGroupManager::SendGroupUpdate(int32 group_id, Client* exclude) {
std::unique_lock lock(MGroups);
std::shared_lock lock(MGroups);
if (m_groups.count(group_id) > 0) {
m_groups[group_id]->SendGroupUpdate(exclude);
@ -586,7 +586,7 @@ void PlayerGroupManager::GroupChatMessage(int32 group_id, Spawn* from, int32 lan
}
void PlayerGroupManager::MakeLeader(int32 group_id, Entity* new_leader) {
std::unique_lock lock(MGroups);
std::shared_lock lock(MGroups);
if (m_groups.count(group_id) > 0)
m_groups[group_id]->MakeLeader(new_leader);