OpenSim.Region.ScriptEngine.XEngine.XEngine.DoOnRezScriptQueue C# (CSharp) Méthode

DoOnRezScriptQueue() public méthode

public DoOnRezScriptQueue ( Object dummy ) : Object
dummy Object
Résultat Object
        public Object DoOnRezScriptQueue(Object dummy)
        {
            if (m_InitialStartup)
            {
                m_InitialStartup = false;
                System.Threading.Thread.Sleep(15000);

                if (m_CompileQueue.Count == 0)
                {
                    // No scripts on region, so won't get triggered later
                    // by the queue becoming empty so we trigger it here
                    m_Scene.EventManager.TriggerEmptyScriptCompileQueue(0, String.Empty);
                }
            }

            object[] o;
            while (m_CompileQueue.Dequeue(out o))
                DoOnRezScript(o);

            // NOTE: Despite having a lockless queue, this lock is required
            // to make sure there is never no compile thread while there
            // are still scripts to compile. This could otherwise happen
            // due to a race condition
            //
            lock (m_CompileQueue)
            {
                m_CurrentCompile = null;
            }
            m_Scene.EventManager.TriggerEmptyScriptCompileQueue(m_ScriptFailCount,
                                                                m_ScriptErrorMessage);
            m_ScriptFailCount = 0;

            return null;
        }