From c581658337d6083bc71d82294e26b6f632e1cd2f Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 21 Jun 2022 00:29:50 +0100 Subject: [PATCH] do flush all avatar profile props cache --- .../Avatar/UserProfiles/UserProfileModule.cs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs index f0092778b3..44c1437335 100644 --- a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs @@ -521,10 +521,9 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles return; } - UserProfileCacheEntry uce = null; lock(m_profilesCache) { - if(m_profilesCache.TryGetValue(targetID, out uce) && uce != null) + if(m_profilesCache.TryGetValue(targetID, out UserProfileCacheEntry uce) && uce != null) { if(uce.classifiedsLists != null) { @@ -593,9 +592,9 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles } } - lock(m_profilesCache) + lock(m_profilesCache) { - if(!m_profilesCache.TryGetValue(targetID, out uce) || uce == null) + if(!m_profilesCache.TryGetValue(targetID, out UserProfileCacheEntry uce) || uce == null) uce = new UserProfileCacheEntry(); uce.classifiedsLists = classifieds; @@ -1455,12 +1454,12 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles } // flush cache - UserProfileCacheEntry uce = null; lock(m_profilesCache) { - if(m_profilesCache.TryGetValue(remoteClient.AgentId, out uce) && uce != null) + if(m_profilesCache.TryGetValue(remoteClient.AgentId, out UserProfileCacheEntry uce) && uce != null) { uce.props = null; + uce.ClientsWaitingProps = null; } } RequestAvatarProperties(remoteClient, remoteClient.AgentId); @@ -1495,10 +1494,9 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles return; } UserProfileProperties props; - UserProfileCacheEntry uce = null; lock(m_profilesCache) { - if(m_profilesCache.TryGetValue(avatarID, out uce) && uce != null) + if(m_profilesCache.TryGetValue(avatarID, out UserProfileCacheEntry uce) && uce != null) { if(uce.props != null) { @@ -1695,6 +1693,7 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles if(m_profilesCache.TryGetValue(remoteClient.AgentId, out uce) && uce != null) { uce.props = null; + uce.ClientsWaitingProps = null; } }