Eliminated the nested locks of m_Scripts and m_PrimObjects.
prebuild-update
Diva Canto 2010-07-19 13:59:11 -07:00
parent cd2bb7daf3
commit 5c0c7fda6c
1 changed files with 37 additions and 37 deletions

View File

@ -820,18 +820,20 @@ namespace OpenSim.Region.ScriptEngine.XEngine
m_CompileDict.Remove(itemID); m_CompileDict.Remove(itemID);
} }
IScriptInstance instance = null;
lock (m_Scripts) lock (m_Scripts)
{ {
// Do we even have it? // Do we even have it?
if (!m_Scripts.ContainsKey(itemID)) if (!m_Scripts.ContainsKey(itemID))
return; return;
IScriptInstance instance=m_Scripts[itemID]; instance=m_Scripts[itemID];
m_Scripts.Remove(itemID); m_Scripts.Remove(itemID);
}
instance.ClearQueue(); instance.ClearQueue();
instance.Stop(0); instance.Stop(0);
// bool objectRemoved = false; // bool objectRemoved = false;
lock (m_PrimObjects) lock (m_PrimObjects)
@ -871,8 +873,6 @@ namespace OpenSim.Region.ScriptEngine.XEngine
handlerObjectRemoved(part.UUID); handlerObjectRemoved(part.UUID);
} }
CleanAssemblies();
}
ScriptRemoved handlerScriptRemoved = OnScriptRemoved; ScriptRemoved handlerScriptRemoved = OnScriptRemoved;
if (handlerScriptRemoved != null) if (handlerScriptRemoved != null)