Swap the locking of m_EventQueue and m_Script to ease locks on script inventory operations

avinationmerge
CasperW 2009-11-23 20:25:53 +01:00
parent 73c2162ff6
commit 247c66b3fe
1 changed files with 138 additions and 134 deletions

View File

@ -640,11 +640,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
/// <returns></returns>
public object EventProcessor()
{
lock (m_Script)
{
EventParams data = null;
lock (m_EventQueue)
{
lock (m_Script)
{
data = (EventParams) m_EventQueue.Dequeue();
if (data == null) // Shouldn't happen
@ -670,6 +671,9 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance
if (data.EventName == "collision")
m_CollisionInQueue = false;
}
}
lock(m_Script)
{
//m_log.DebugFormat("[XENGINE]: Processing event {0} for {1}", data.EventName, this);