aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDiva Canto2014-07-04 14:36:11 -0700
committerJustin Clark-Casey2014-08-02 00:51:53 +0100
commit62e9cdd72a69c3892416a7684d2cf375ae9dfe61 (patch)
treea82bfea7fd7e920a4cd754a3bd846f5af866a35a
parentThis fixes the bug related to rebooting neighboring varregions while avatars ... (diff)
downloadopensim-SC_OLD-62e9cdd72a69c3892416a7684d2cf375ae9dfe61.zip
opensim-SC_OLD-62e9cdd72a69c3892416a7684d2cf375ae9dfe61.tar.gz
opensim-SC_OLD-62e9cdd72a69c3892416a7684d2cf375ae9dfe61.tar.bz2
opensim-SC_OLD-62e9cdd72a69c3892416a7684d2cf375ae9dfe61.tar.xz
On logout, delay the removal of AgentCircuitData until the very end, because that data structure contains important information about the agent that may be needed by modules.
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs8
1 files changed, 3 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 27042a3..27929c6 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3219,10 +3219,6 @@ namespace OpenSim.Region.Framework.Scenes
3219 3219
3220 return; 3220 return;
3221 } 3221 }
3222 else
3223 {
3224 m_authenticateHandler.RemoveCircuit(agentID);
3225 }
3226 3222
3227 // TODO: Can we now remove this lock? 3223 // TODO: Can we now remove this lock?
3228 lock (acd) 3224 lock (acd)
@@ -3238,7 +3234,8 @@ namespace OpenSim.Region.Framework.Scenes
3238 { 3234 {
3239 m_log.ErrorFormat( 3235 m_log.ErrorFormat(
3240 "[SCENE]: Called RemoveClient() with agent ID {0} but no such presence is in the scene.", agentID); 3236 "[SCENE]: Called RemoveClient() with agent ID {0} but no such presence is in the scene.", agentID);
3241 3237 m_authenticateHandler.RemoveCircuit(agentID);
3238
3242 return; 3239 return;
3243 } 3240 }
3244 3241
@@ -3315,6 +3312,7 @@ namespace OpenSim.Region.Framework.Scenes
3315 // Always clean these structures up so that any failure above doesn't cause them to remain in the 3312 // Always clean these structures up so that any failure above doesn't cause them to remain in the
3316 // scene with possibly bad effects (e.g. continually timing out on unacked packets and triggering 3313 // scene with possibly bad effects (e.g. continually timing out on unacked packets and triggering
3317 // the same cleanup exception continually. 3314 // the same cleanup exception continually.
3315 m_authenticateHandler.RemoveCircuit(agentID);
3318 m_sceneGraph.RemoveScenePresence(agentID); 3316 m_sceneGraph.RemoveScenePresence(agentID);
3319 m_clientManager.Remove(agentID); 3317 m_clientManager.Remove(agentID);
3320 3318