From 928733efc908e25ea460ca4724a8846a4fb71fa1 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 23 May 2017 03:26:32 +0100 Subject: please DIE! PLEASE?? --- OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs | 2 ++ .../CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs | 1 + OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs | 9 ++++++++- OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 3 +++ 4 files changed, 14 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs b/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs index 5d66d34..8c44ee2 100644 --- a/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs +++ b/OpenSim/Region/CoreModules/Hypergrid/HGWorldMapModule.cs @@ -106,6 +106,8 @@ namespace OpenSim.Region.CoreModules.Hypergrid if (!m_Enabled) return; + base.RemoveRegion(scene); + scene.EventManager.OnClientClosed -= EventManager_OnClientClosed; } diff --git a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs index dabff60..57dc556 100644 --- a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs +++ b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs @@ -415,6 +415,7 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest public void Close() { + ThreadPool.Shutdown(); } public string Name diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index 5dcf326..00c8279 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -215,6 +215,8 @@ namespace OpenSim.Region.CoreModules.World.WorldMap m_scene.EventManager.OnNewClient -= OnNewClient; m_scene.EventManager.OnRegisterCaps -= OnRegisterCaps; + m_scene.UnregisterModuleInterface(this); + string regionimage = "regionImage" + m_scene.RegionInfo.RegionID.ToString(); regionimage = regionimage.Replace("-", ""); MainServer.Instance.RemoveLLSDHandler("/MAP/MapItems/" + m_scene.RegionInfo.RegionHandle.ToString(), @@ -1148,7 +1150,12 @@ namespace OpenSim.Region.CoreModules.World.WorldMap List thisRunData = new List(); while (true) { - m_mapBlockRequestEvent.WaitOne(); + while(!m_mapBlockRequestEvent.WaitOne(4900)) + { + if(m_scene == null) + return; + } + lock (m_mapBlockRequestEvent) { int total = 0; diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 0ccc683..2e39033 100755 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs @@ -827,6 +827,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine if (m_ScriptEngines.Contains(this)) m_ScriptEngines.Remove(this); } + + lock(m_Scripts) + m_ThreadPool.Shutdown(); } public object DoBackup(object o) -- cgit v1.1