change melanies patch, reusing caps if circuit and caps path is the same.

Do the aditional cleanup, if the path did change
avinationmerge
UbitUmarov 2014-09-24 16:01:25 +01:00
parent 4206c1248f
commit 1491ba3500
1 changed files with 17 additions and 13 deletions

View File

@ -139,6 +139,17 @@ namespace OpenSim.Region.CoreModules.Framework
{ {
Caps oldCaps = m_capsObjects[circuitCode]; Caps oldCaps = m_capsObjects[circuitCode];
if (capsObjectPath == oldCaps.CapsObjectPath)
{
m_log.WarnFormat(
"[CAPS]: Reusing caps for agent {0} in region {1}. Old caps path {2}, new caps path {3}. ",
agentId, m_scene.RegionInfo.RegionName, oldCaps.CapsObjectPath, capsObjectPath);
return;
}
else
{
// not reusing add extra melanie cleanup
// Remove tge handlers. They may conflict with the // Remove tge handlers. They may conflict with the
// new object created below // new object created below
oldCaps.DeregisterHandlers(); oldCaps.DeregisterHandlers();
@ -146,14 +157,7 @@ namespace OpenSim.Region.CoreModules.Framework
// Better safe ... should not be needed but also // Better safe ... should not be needed but also
// no big deal // no big deal
m_capsObjects.Remove(circuitCode); m_capsObjects.Remove(circuitCode);
}
// if (capsObjectPath == oldCaps.CapsObjectPath)
// {
// m_log.WarnFormat(
// "[CAPS]: Reusing caps for agent {0} in region {1}. Old caps path {2}, new caps path {3}. ",
// agentId, m_scene.RegionInfo.RegionName, oldCaps.CapsObjectPath, capsObjectPath);
// return;
// }
} }
caps = new Caps(MainServer.Instance, m_scene.RegionInfo.ExternalHostName, caps = new Caps(MainServer.Instance, m_scene.RegionInfo.ExternalHostName,