Fix a timer list locking issue causing XMREngine deadlocks
parent
8ad8bd6282
commit
06f639b8f3
|
@ -109,10 +109,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||||
if (Timers.Count == 0)
|
if (Timers.Count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Dictionary<string, TimerClass>.ValueCollection tvals;
|
||||||
lock (TimerListLock)
|
lock (TimerListLock)
|
||||||
{
|
{
|
||||||
// Go through all timers
|
// Go through all timers
|
||||||
Dictionary<string, TimerClass>.ValueCollection tvals = Timers.Values;
|
tvals = Timers.Values;
|
||||||
|
}
|
||||||
|
|
||||||
foreach (TimerClass ts in tvals)
|
foreach (TimerClass ts in tvals)
|
||||||
{
|
{
|
||||||
// Time has passed?
|
// Time has passed?
|
||||||
|
@ -130,7 +133,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public Object[] GetSerializationData(UUID itemID)
|
public Object[] GetSerializationData(UUID itemID)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue