diff options
author | UbitUmarov | 2014-09-24 16:01:25 +0100 |
---|---|---|
committer | UbitUmarov | 2014-09-24 16:01:25 +0100 |
commit | 1491ba3500bc954a496296f62d619c75c3942971 (patch) | |
tree | c24aba1176f7cf923cf4ecd86f86df312496f30a /OpenSim/Region/CoreModules | |
parent | same thing on another lock(acd) (diff) | |
download | opensim-SC-1491ba3500bc954a496296f62d619c75c3942971.zip opensim-SC-1491ba3500bc954a496296f62d619c75c3942971.tar.gz opensim-SC-1491ba3500bc954a496296f62d619c75c3942971.tar.bz2 opensim-SC-1491ba3500bc954a496296f62d619c75c3942971.tar.xz |
change melanies patch, reusing caps if circuit and caps path is the same.
Do the aditional cleanup, if the path did change
Diffstat (limited to 'OpenSim/Region/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs b/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs index 88447f3..36a9451 100644 --- a/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs +++ b/OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs | |||
@@ -139,21 +139,25 @@ namespace OpenSim.Region.CoreModules.Framework | |||
139 | { | 139 | { |
140 | Caps oldCaps = m_capsObjects[circuitCode]; | 140 | Caps oldCaps = m_capsObjects[circuitCode]; |
141 | 141 | ||
142 | // Remove tge handlers. They may conflict with the | ||
143 | // new object created below | ||
144 | oldCaps.DeregisterHandlers(); | ||
145 | 142 | ||
146 | // Better safe ... should not be needed but also | 143 | if (capsObjectPath == oldCaps.CapsObjectPath) |
147 | // no big deal | 144 | { |
148 | m_capsObjects.Remove(circuitCode); | 145 | m_log.WarnFormat( |
149 | 146 | "[CAPS]: Reusing caps for agent {0} in region {1}. Old caps path {2}, new caps path {3}. ", | |
150 | // if (capsObjectPath == oldCaps.CapsObjectPath) | 147 | agentId, m_scene.RegionInfo.RegionName, oldCaps.CapsObjectPath, capsObjectPath); |
151 | // { | 148 | return; |
152 | // m_log.WarnFormat( | 149 | } |
153 | // "[CAPS]: Reusing caps for agent {0} in region {1}. Old caps path {2}, new caps path {3}. ", | 150 | else |
154 | // agentId, m_scene.RegionInfo.RegionName, oldCaps.CapsObjectPath, capsObjectPath); | 151 | { |
155 | // return; | 152 | // not reusing add extra melanie cleanup |
156 | // } | 153 | // Remove tge handlers. They may conflict with the |
154 | // new object created below | ||
155 | oldCaps.DeregisterHandlers(); | ||
156 | |||
157 | // Better safe ... should not be needed but also | ||
158 | // no big deal | ||
159 | m_capsObjects.Remove(circuitCode); | ||
160 | } | ||
157 | } | 161 | } |
158 | 162 | ||
159 | caps = new Caps(MainServer.Instance, m_scene.RegionInfo.ExternalHostName, | 163 | caps = new Caps(MainServer.Instance, m_scene.RegionInfo.ExternalHostName, |