diff options
author | Mike Mazur | 2008-08-12 06:21:02 +0000 |
---|---|---|
committer | Mike Mazur | 2008-08-12 06:21:02 +0000 |
commit | 8ea92c0669de17f4967540ecc1350860aa346f06 (patch) | |
tree | fb3502211612e8b34e1102ba39880a2fd77f2e5c /OpenSim/Region/Environment/Scenes/ScenePresence.cs | |
parent | Remove "static" from the AsyncCommand Manager to make it work properly (diff) | |
download | opensim-SC-8ea92c0669de17f4967540ecc1350860aa346f06.zip opensim-SC-8ea92c0669de17f4967540ecc1350860aa346f06.tar.gz opensim-SC-8ea92c0669de17f4967540ecc1350860aa346f06.tar.bz2 opensim-SC-8ea92c0669de17f4967540ecc1350860aa346f06.tar.xz |
Thanks, lulurun, for a patch that addresses inventory problems that occur
occasionally, but are fixed on restart (issue 1919).
This patch introduces the following changes:
1. when a user teleports out of Region A, remove that user's profile
from the Region A user profile cache
2. when a user crosses between regions out of Region A, remove that
user's profile from the Region A user profile cache
3. the user profile cache's session ID member can now be set (written),
and is updated each time a connection with a new avatar is established (ie: a
new avatar enters the region)
4. when a region server looks up a user profile and a cache miss
occurs, fetch the user profile from the user server first instead of
immediately returning null
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/ScenePresence.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 1721acb..5c90bf3 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -1989,6 +1989,10 @@ namespace OpenSim.Region.Environment.Scenes | |||
1989 | 1989 | ||
1990 | m_scene.SendKillObject(m_localId); | 1990 | m_scene.SendKillObject(m_localId); |
1991 | m_scene.NotifyMyCoarseLocationChange(); | 1991 | m_scene.NotifyMyCoarseLocationChange(); |
1992 | // the user may change thier profile information in other region, | ||
1993 | // so the userinfo in UserProfileCache is not reliable any more, delete it | ||
1994 | m_scene.CommsManager.UserProfileCacheService.RemoveUser(UUID); | ||
1995 | m_log.InfoFormat("User {0} is going to another region, profile cache removed", UUID); | ||
1992 | } | 1996 | } |
1993 | else | 1997 | else |
1994 | { | 1998 | { |