mirror of
https://github.com/opensim/opensim.git
synced 2026-07-14 19:55:35 +08:00
Avoid race condition between m_PrimObjects iteration in XEngine.PostObjectEvent and places where the list is modified by extending the m_PrimObjects lock.
This commit is contained in:
@@ -1363,22 +1363,22 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||
return false;
|
||||
|
||||
uuids = m_PrimObjects[localID];
|
||||
}
|
||||
|
||||
foreach (UUID itemID in uuids)
|
||||
{
|
||||
IScriptInstance instance = null;
|
||||
try
|
||||
foreach (UUID itemID in uuids)
|
||||
{
|
||||
if (m_Scripts.ContainsKey(itemID))
|
||||
instance = m_Scripts[itemID];
|
||||
}
|
||||
catch { /* ignore race conditions */ }
|
||||
|
||||
if (instance != null)
|
||||
{
|
||||
instance.PostEvent(p);
|
||||
result = true;
|
||||
IScriptInstance instance = null;
|
||||
try
|
||||
{
|
||||
if (m_Scripts.ContainsKey(itemID))
|
||||
instance = m_Scripts[itemID];
|
||||
}
|
||||
catch { /* ignore race conditions */ }
|
||||
|
||||
if (instance != null)
|
||||
{
|
||||
instance.PostEvent(p);
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user