From cf3d3f4f4aed1693e6c97858700fd9f58f5f4a53 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Mon, 22 Jan 2018 23:51:15 +0000 Subject: [PATCH] move datasnapshot notification to last, but still a issue with very fast service servers --- .../DataSnapshot/DataSnapshotManager.cs | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/OpenSim/Region/OptionalModules/DataSnapshot/DataSnapshotManager.cs b/OpenSim/Region/OptionalModules/DataSnapshot/DataSnapshotManager.cs index 1ed403e381..58e6765b29 100644 --- a/OpenSim/Region/OptionalModules/DataSnapshot/DataSnapshotManager.cs +++ b/OpenSim/Region/OptionalModules/DataSnapshot/DataSnapshotManager.cs @@ -150,11 +150,8 @@ namespace OpenSim.Region.DataSnapshot m_enabled = false; return; } - } - } - } public void AddRegion(Scene scene) @@ -208,24 +205,16 @@ namespace OpenSim.Region.DataSnapshot if (!m_enabled) return; - - if (!m_servicesNotified) + if (m_snapStore == null) { m_hostname = scene.RegionInfo.ExternalHostName; m_snapStore = new SnapshotStore(m_snapsDir, m_gridinfo, m_listener_port, m_hostname); //Hand it the first scene, assuming that all scenes have the same BaseHTTPServer new DataRequestHandler(scene, this); - - if (m_dataServices != "" && m_dataServices != "noservices") - NotifyDataServices(m_dataServices, "online"); - - m_servicesNotified = true; } m_snapStore.AddScene(scene); - m_log.DebugFormat("[DATASNAPSHOT]: Marking scene {0} as stale.", scene.RegionInfo.RegionName); - m_snapStore.ForceSceneStale(scene); Assembly currentasm = Assembly.GetExecutingAssembly(); @@ -250,6 +239,13 @@ namespace OpenSim.Region.DataSnapshot } } + if (!m_servicesNotified) + { + if (m_dataServices != "" && m_dataServices != "noservices") + NotifyDataServices(m_dataServices, "online"); + + m_servicesNotified = true; + } } public void Close() @@ -261,7 +257,6 @@ namespace OpenSim.Region.DataSnapshot NotifyDataServices(m_dataServices, "offline"); } - public string Name { get { return "External Data Generator"; }