diff options
author | Diva Canto | 2014-07-04 14:36:11 -0700 |
---|---|---|
committer | Diva Canto | 2014-07-04 14:36:11 -0700 |
commit | 82b875317b7e3e5bc45cc91e022764f07af938ec (patch) | |
tree | 15dcf3d1798f805516746d9ad725e11cf6bafbcf /OpenSim/Region/Framework/Scenes | |
parent | This fixes the bug related to rebooting neighboring varregions while avatars ... (diff) | |
download | opensim-SC-82b875317b7e3e5bc45cc91e022764f07af938ec.zip opensim-SC-82b875317b7e3e5bc45cc91e022764f07af938ec.tar.gz opensim-SC-82b875317b7e3e5bc45cc91e022764f07af938ec.tar.bz2 opensim-SC-82b875317b7e3e5bc45cc91e022764f07af938ec.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.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 8 |
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 | ||