aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.cs
diff options
context:
space:
mode:
authorMike Mazur2008-08-12 06:21:02 +0000
committerMike Mazur2008-08-12 06:21:02 +0000
commit8ea92c0669de17f4967540ecc1350860aa346f06 (patch)
treefb3502211612e8b34e1102ba39880a2fd77f2e5c /OpenSim/Region/Environment/Scenes/Scene.cs
parentRemove "static" from the AsyncCommand Manager to make it work properly (diff)
downloadopensim-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 '')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs5
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 {