From 607156cae844ec97b8bab273075127a6248a81c3 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Tue, 21 Apr 2009 20:12:33 +0000 Subject: * Comment out user profile cache update method for now --- .../Communications/Cache/CachedUserInfo.cs | 2 +- .../Cache/UserProfileCacheService.cs | 37 ++++++++++++---------- 2 files changed, 21 insertions(+), 18 deletions(-) (limited to 'OpenSim/Framework/Communications/Cache') diff --git a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs index 98ec287..52869b1 100644 --- a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs +++ b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs @@ -65,7 +65,7 @@ namespace OpenSim.Framework.Communications.Cache private readonly CommunicationsManager m_commsManager; public UserProfileData UserProfile { get { return m_userProfile; } } - protected internal UserProfileData m_userProfile; + private UserProfileData m_userProfile; /// /// Have we received the user's inventory from the inventory service? diff --git a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs index 36fe6e3..8f37f27 100644 --- a/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs +++ b/OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs @@ -173,23 +173,26 @@ namespace OpenSim.Framework.Communications.Cache /// /// /// true if a user profile was found to update, false otherwise - public bool UpdateProfile(UserProfileData userProfile) - { - lock (m_userProfilesById) - { - CachedUserInfo userInfo = GetUserDetails(userProfile.ID); - - if (userInfo != null) - { - userInfo.m_userProfile = userProfile; - m_commsManager.UserService.UpdateUserProfile(userProfile); - - return true; - } - } - - return false; - } + // Commented out for now. The implementation needs to be improved by protecting against race conditions, + // probably by making sure that the update doesn't use the UserCacheInfo.UserProfile directly (possibly via + // returning a read only class from the cache). +// public bool UpdateProfile(UserProfileData userProfile) +// { +// lock (m_userProfilesById) +// { +// CachedUserInfo userInfo = GetUserDetails(userProfile.ID); +// +// if (userInfo != null) +// { +// userInfo.m_userProfile = userProfile; +// m_commsManager.UserService.UpdateUserProfile(userProfile); +// +// return true; +// } +// } +// +// return false; +// } /// /// Populate caches with the given user profile -- cgit v1.1