aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-10-29 23:22:40 +0000
committerJustin Clark-Casey (justincc)2012-10-29 23:22:40 +0000
commit09f4e72d6af4b86238af516b1719ff4f63aa7174 (patch)
treeb374a183a3610509af839c5b514d4d1eabc6902f /OpenSim/Region/Framework
parentMerge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff)
downloadopensim-SC-09f4e72d6af4b86238af516b1719ff4f63aa7174.zip
opensim-SC-09f4e72d6af4b86238af516b1719ff4f63aa7174.tar.gz
opensim-SC-09f4e72d6af4b86238af516b1719ff4f63aa7174.tar.bz2
opensim-SC-09f4e72d6af4b86238af516b1719ff4f63aa7174.tar.xz
Fix memory leak where removing an NPC did not remove its circuits.
This was because we were removing by circuitcode where NPCs have no code. Now removing by agent ID instead. This commit also fixes the "show circuits" console command to work properly where the circuit has no associated IP address.
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs5
1 files changed, 3 insertions, 2 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 2cdc4b3..7d8cbf5 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -3384,9 +3384,10 @@ namespace OpenSim.Region.Framework.Scenes
3384 } 3384 }
3385 else 3385 else
3386 { 3386 {
3387 // We remove the acd up here to avoid later raec conditions if two RemoveClient() calls occurred 3387 // We remove the acd up here to avoid later race conditions if two RemoveClient() calls occurred
3388 // simultaneously. 3388 // simultaneously.
3389 m_authenticateHandler.RemoveCircuit(acd.circuitcode); 3389 // We also need to remove by agent ID since NPCs will have no circuit code.
3390 m_authenticateHandler.RemoveCircuit(agentID);
3390 } 3391 }
3391 } 3392 }
3392 3393