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/Scene.cs | |
parent | Remove "static" from the AsyncCommand Manager to make it work properly (diff) | |
download | opensim-SC_OLD-8ea92c0669de17f4967540ecc1350860aa346f06.zip opensim-SC_OLD-8ea92c0669de17f4967540ecc1350860aa346f06.tar.gz opensim-SC_OLD-8ea92c0669de17f4967540ecc1350860aa346f06.tar.bz2 opensim-SC_OLD-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 '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index f39a0e6..b54713f 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -2015,7 +2015,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
2015 | "[SCENE]: Adding new {0} agent {1} {2} in {3}", | 2015 | "[SCENE]: Adding new {0} agent {1} {2} in {3}", |
2016 | (child ? "child" : "root"), client.Name, client.AgentId, RegionInfo.RegionName); | 2016 | (child ? "child" : "root"), client.Name, client.AgentId, RegionInfo.RegionName); |
2017 | 2017 | ||
2018 | CommsManager.UserProfileCacheService.AddNewUser(client); | 2018 | CommsManager.UserProfileCacheService.AddNewUser(client.AgentId); |
2019 | 2019 | ||
2020 | CreateAndAddScenePresence(client, child); | 2020 | CreateAndAddScenePresence(client, child); |
2021 | } | 2021 | } |
@@ -2455,6 +2455,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
2455 | agent.circuitcode, agent.AgentID, RegionInfo.RegionName); | 2455 | agent.circuitcode, agent.AgentID, RegionInfo.RegionName); |
2456 | 2456 | ||
2457 | m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); | 2457 | m_authenticateHandler.AddNewCircuit(agent.circuitcode, agent); |
2458 | // rewrite session_id | ||
2459 | CachedUserInfo userinfo = CommsManager.UserProfileCacheService.GetUserDetails(agent.AgentID); | ||
2460 | userinfo.SessionID = agent.SessionID; | ||
2458 | } | 2461 | } |
2459 | else | 2462 | else |
2460 | { | 2463 | { |