aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorRobert Adams2014-09-05 21:20:02 -0700
committerRobert Adams2014-09-05 21:20:02 -0700
commite5b269e9a09441814a2849e4411ab5b0e11c46df (patch)
tree0d25eaf07841eaefc3f9b1de5b434d3cbbac6f73 /OpenSim/Region
parentMerge branch 'master' into bullet-2.82 (diff)
parentFor monitoring purposes, start non-timeout tasks (which do not currently use ... (diff)
downloadopensim-SC-e5b269e9a09441814a2849e4411ab5b0e11c46df.zip
opensim-SC-e5b269e9a09441814a2849e4411ab5b0e11c46df.tar.gz
opensim-SC-e5b269e9a09441814a2849e4411ab5b0e11c46df.tar.bz2
opensim-SC-e5b269e9a09441814a2849e4411ab5b0e11c46df.tar.xz
Merge branch 'master' into bullet-2.82
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs2
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs2
-rw-r--r--OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs4
-rw-r--r--OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs3
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs5
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs5
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs3
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs5
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs17
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs6
10 files changed, 29 insertions, 23 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 87aa37d..e879e76 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -447,6 +447,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
447 { 447 {
448 StartInbound(); 448 StartInbound();
449 StartOutbound(); 449 StartOutbound();
450 OqrEngine.Start();
450 451
451 m_elapsedMSSinceLastStatReport = Environment.TickCount; 452 m_elapsedMSSinceLastStatReport = Environment.TickCount;
452 } 453 }
@@ -491,6 +492,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
491 m_log.Info("[LLUDPSERVER]: Shutting down the LLUDP server for " + Scene.Name); 492 m_log.Info("[LLUDPSERVER]: Shutting down the LLUDP server for " + Scene.Name);
492 base.StopOutbound(); 493 base.StopOutbound();
493 base.StopInbound(); 494 base.StopInbound();
495 OqrEngine.Stop();
494 } 496 }
495 497
496 protected override bool EnablePools() 498 protected override bool EnablePools()
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs b/OpenSim/Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs
index 0659d8e..069c9c8 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/OutgoingQueueRefillEngine.cs
@@ -92,7 +92,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
92 "debug lludp oqre", 92 "debug lludp oqre",
93 "debug lludp oqre <start|stop|status>", 93 "debug lludp oqre <start|stop|status>",
94 "Start, stop or get status of OutgoingQueueRefillEngine.", 94 "Start, stop or get status of OutgoingQueueRefillEngine.",
95 "Experimental.", 95 "If stopped then refill requests are processed directly via the threadpool.",
96 HandleOqreCommand); 96 HandleOqreCommand);
97 } 97 }
98 98
diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs
index f06d70d..9d6870f 100644
--- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs
+++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs
@@ -43,6 +43,7 @@ using Mono.Addins;
43using OpenMetaverse; 43using OpenMetaverse;
44using OpenSim.Framework; 44using OpenSim.Framework;
45using OpenSim.Framework.Console; 45using OpenSim.Framework.Console;
46using OpenSim.Framework.Monitoring;
46using OpenSim.Region.Framework.Interfaces; 47using OpenSim.Region.Framework.Interfaces;
47using OpenSim.Region.Framework.Scenes; 48using OpenSim.Region.Framework.Scenes;
48using OpenSim.Services.Interfaces; 49using OpenSim.Services.Interfaces;
@@ -963,7 +964,8 @@ namespace OpenSim.Region.CoreModules.Asset
963 case "assets": 964 case "assets":
964 con.Output("Ensuring assets are cached for all scenes."); 965 con.Output("Ensuring assets are cached for all scenes.");
965 966
966 Util.RunThreadNoTimeout(delegate { 967 Watchdog.RunInThread(delegate
968 {
967 int assetReferenceTotal = TouchAllSceneAssets(true); 969 int assetReferenceTotal = TouchAllSceneAssets(true);
968 con.OutputFormat("Completed check with {0} assets.", assetReferenceTotal); 970 con.OutputFormat("Completed check with {0} assets.", assetReferenceTotal);
969 }, "TouchAllSceneAssets", null); 971 }, "TouchAllSceneAssets", null);
diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs
index d15703e..a5b5aa2 100644
--- a/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs
+++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiveWriteRequest.cs
@@ -34,6 +34,7 @@ using System.Xml;
34using log4net; 34using log4net;
35using OpenMetaverse; 35using OpenMetaverse;
36using OpenSim.Framework; 36using OpenSim.Framework;
37using OpenSim.Framework.Monitoring;
37using OpenSim.Framework.Serialization; 38using OpenSim.Framework.Serialization;
38using OpenSim.Framework.Serialization.External; 39using OpenSim.Framework.Serialization.External;
39using OpenSim.Region.CoreModules.World.Archiver; 40using OpenSim.Region.CoreModules.World.Archiver;
@@ -356,7 +357,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
356 m_scene.UserAccountService, m_scene.RegionInfo.ScopeID, 357 m_scene.UserAccountService, m_scene.RegionInfo.ScopeID,
357 options, ReceivedAllAssets); 358 options, ReceivedAllAssets);
358 359
359 Util.RunThreadNoTimeout(o => ar.Execute(), "AssetsRequest", null); 360 Watchdog.RunInThread(o => ar.Execute(), string.Format("AssetsRequest ({0})", m_scene.Name), null);
360 } 361 }
361 else 362 else
362 { 363 {
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
index f80fab3..470ef02 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/LocalInventoryServiceConnector.cs
@@ -33,6 +33,7 @@ using System;
33using System.Collections.Generic; 33using System.Collections.Generic;
34using System.Reflection; 34using System.Reflection;
35using OpenSim.Framework; 35using OpenSim.Framework;
36using OpenSim.Framework.Monitoring;
36using OpenSim.Data; 37using OpenSim.Data;
37using OpenSim.Server.Base; 38using OpenSim.Server.Base;
38using OpenSim.Region.Framework.Interfaces; 39using OpenSim.Region.Framework.Interfaces;
@@ -183,12 +184,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
183 // Protect ourselves against the caller subsequently modifying the items list 184 // Protect ourselves against the caller subsequently modifying the items list
184 List<InventoryItemBase> items = new List<InventoryItemBase>(invCol.Items); 185 List<InventoryItemBase> items = new List<InventoryItemBase>(invCol.Items);
185 186
186 Util.RunThreadNoTimeout(delegate 187 Watchdog.RunInThread(delegate
187 { 188 {
188 foreach (InventoryItemBase item in items) 189 foreach (InventoryItemBase item in items)
189 if (!string.IsNullOrEmpty(item.CreatorData)) 190 if (!string.IsNullOrEmpty(item.CreatorData))
190 UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData); 191 UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
191 }, "GetFolderContent", null); 192 }, string.Format("GetFolderContent (user {0}, folder {1})", userID, folderID), null);
192 } 193 }
193 194
194 return invCol; 195 return invCol;
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
index c8056d4..3e0c9f3 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs
@@ -36,6 +36,7 @@ using System.Xml;
36using log4net; 36using log4net;
37using OpenMetaverse; 37using OpenMetaverse;
38using OpenSim.Framework; 38using OpenSim.Framework;
39using OpenSim.Framework.Monitoring;
39using OpenSim.Framework.Serialization; 40using OpenSim.Framework.Serialization;
40using OpenSim.Framework.Serialization.External; 41using OpenSim.Framework.Serialization.External;
41using OpenSim.Region.CoreModules.World.Terrain; 42using OpenSim.Region.CoreModules.World.Terrain;
@@ -371,7 +372,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
371 // Start the scripts. We delayed this because we want the OAR to finish loading ASAP, so 372 // Start the scripts. We delayed this because we want the OAR to finish loading ASAP, so
372 // that users can enter the scene. If we allow the scripts to start in the loop above 373 // that users can enter the scene. If we allow the scripts to start in the loop above
373 // then they significantly increase the time until the OAR finishes loading. 374 // then they significantly increase the time until the OAR finishes loading.
374 Util.RunThreadNoTimeout(delegate(object o) 375 Watchdog.RunInThread(o =>
375 { 376 {
376 Thread.Sleep(15000); 377 Thread.Sleep(15000);
377 m_log.Info("[ARCHIVER]: Starting scripts in scene objects"); 378 m_log.Info("[ARCHIVER]: Starting scripts in scene objects");
@@ -386,7 +387,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
386 387
387 sceneContext.SceneObjects.Clear(); 388 sceneContext.SceneObjects.Clear();
388 } 389 }
389 }, "ReadArchiveStartScripts", null); 390 }, string.Format("ReadArchiveStartScripts (request {0})", m_requestId), null);
390 391
391 m_log.InfoFormat("[ARCHIVER]: Successfully loaded archive"); 392 m_log.InfoFormat("[ARCHIVER]: Successfully loaded archive");
392 393
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs
index 448147a..803f24e 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs
@@ -36,6 +36,7 @@ using System.Xml;
36using log4net; 36using log4net;
37using OpenMetaverse; 37using OpenMetaverse;
38using OpenSim.Framework; 38using OpenSim.Framework;
39using OpenSim.Framework.Monitoring;
39using OpenSim.Framework.Serialization; 40using OpenSim.Framework.Serialization;
40using OpenSim.Region.CoreModules.World.Terrain; 41using OpenSim.Region.CoreModules.World.Terrain;
41using OpenSim.Region.Framework.Interfaces; 42using OpenSim.Region.Framework.Interfaces;
@@ -199,7 +200,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
199 m_rootScene.AssetService, m_rootScene.UserAccountService, 200 m_rootScene.AssetService, m_rootScene.UserAccountService,
200 m_rootScene.RegionInfo.ScopeID, options, ReceivedAllAssets); 201 m_rootScene.RegionInfo.ScopeID, options, ReceivedAllAssets);
201 202
202 Util.RunThreadNoTimeout(o => ar.Execute(), "AssetsRequest", null); 203 Watchdog.RunInThread(o => ar.Execute(), "Archive Assets Request", null);
203 204
204 // CloseArchive() will be called from ReceivedAllAssets() 205 // CloseArchive() will be called from ReceivedAllAssets()
205 } 206 }
diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
index 4f428c3..ec39bc0 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
@@ -33,6 +33,7 @@ using System.Timers;
33using log4net; 33using log4net;
34using OpenMetaverse; 34using OpenMetaverse;
35using OpenSim.Framework; 35using OpenSim.Framework;
36using OpenSim.Framework.Monitoring;
36using OpenSim.Framework.Serialization; 37using OpenSim.Framework.Serialization;
37using OpenSim.Framework.Serialization.External; 38using OpenSim.Framework.Serialization.External;
38using OpenSim.Services.Interfaces; 39using OpenSim.Services.Interfaces;
@@ -226,7 +227,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
226 finally 227 finally
227 { 228 {
228 if (timedOut) 229 if (timedOut)
229 Util.RunThreadNoTimeout(PerformAssetsRequestCallback, "AssetsRequestCallback", true); 230 Watchdog.RunInThread(PerformAssetsRequestCallback, "Archive Assets Request Callback", true);
230 } 231 }
231 } 232 }
232 233
@@ -295,7 +296,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
295 296
296 // We want to stop using the asset cache thread asap 297 // We want to stop using the asset cache thread asap
297 // as we now need to do the work of producing the rest of the archive 298 // as we now need to do the work of producing the rest of the archive
298 Util.RunThreadNoTimeout(PerformAssetsRequestCallback, "AssetsRequestCallback", false); 299 Watchdog.RunInThread(PerformAssetsRequestCallback, "Archive Assets Request Callback", false);
299 } 300 }
300 else 301 else
301 { 302 {
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 5f0dbd7..28dbccb 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1623,7 +1623,12 @@ namespace OpenSim.Region.Framework.Scenes
1623 { 1623 {
1624 tmpMS = Util.EnvironmentTickCount(); 1624 tmpMS = Util.EnvironmentTickCount();
1625 m_cleaningTemps = true; 1625 m_cleaningTemps = true;
1626 Util.RunThreadNoTimeout(delegate { CleanTempObjects(); m_cleaningTemps = false; }, "CleanTempObjects", null); 1626
1627 Watchdog.RunInThread(
1628 delegate { CleanTempObjects(); m_cleaningTemps = false; },
1629 string.Format("CleanTempObjects ({0})", Name),
1630 null);
1631
1627 tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpMS); 1632 tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpMS);
1628 } 1633 }
1629 1634
@@ -1803,7 +1808,7 @@ namespace OpenSim.Region.Framework.Scenes
1803 if (!m_backingup) 1808 if (!m_backingup)
1804 { 1809 {
1805 m_backingup = true; 1810 m_backingup = true;
1806 Util.RunThreadNoTimeout(BackupWaitCallback, "BackupWaitCallback", null); 1811 Watchdog.RunInThread(o => Backup(false), string.Format("BackupWaitCallback ({0})", Name), null);
1807 } 1812 }
1808 } 1813 }
1809 1814
@@ -1814,14 +1819,6 @@ namespace OpenSim.Region.Framework.Scenes
1814 { 1819 {
1815 m_eventManager.TriggerOnFrame(); 1820 m_eventManager.TriggerOnFrame();
1816 } 1821 }
1817
1818 /// <summary>
1819 /// Wrapper for Backup() that can be called with Util.RunThreadNoTimeout()
1820 /// </summary>
1821 private void BackupWaitCallback(object o)
1822 {
1823 Backup(false);
1824 }
1825 1822
1826 /// <summary> 1823 /// <summary>
1827 /// Backup the scene. 1824 /// Backup the scene.
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 3c37de8..59b521d 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -37,6 +37,7 @@ using log4net;
37using Nini.Config; 37using Nini.Config;
38using OpenSim.Framework; 38using OpenSim.Framework;
39using OpenSim.Framework.Client; 39using OpenSim.Framework.Client;
40using OpenSim.Framework.Monitoring;
40using OpenSim.Region.Framework.Interfaces; 41using OpenSim.Region.Framework.Interfaces;
41using OpenSim.Region.Framework.Scenes.Animation; 42using OpenSim.Region.Framework.Scenes.Animation;
42using OpenSim.Region.Framework.Scenes.Types; 43using OpenSim.Region.Framework.Scenes.Types;
@@ -3362,7 +3363,7 @@ namespace OpenSim.Region.Framework.Scenes
3362 SentInitialDataToClient = true; 3363 SentInitialDataToClient = true;
3363 3364
3364 // Send all scene object to the new client 3365 // Send all scene object to the new client
3365 Util.RunThreadNoTimeout(delegate 3366 Watchdog.RunInThread(delegate
3366 { 3367 {
3367// m_log.DebugFormat( 3368// m_log.DebugFormat(
3368// "[SCENE PRESENCE]: Sending initial data to {0} agent {1} in {2}, tp flags {3}", 3369// "[SCENE PRESENCE]: Sending initial data to {0} agent {1} in {2}, tp flags {3}",
@@ -3380,8 +3381,7 @@ namespace OpenSim.Region.Framework.Scenes
3380 if (e != null && e is SceneObjectGroup) 3381 if (e != null && e is SceneObjectGroup)
3381 ((SceneObjectGroup)e).SendFullUpdateToClient(ControllingClient); 3382 ((SceneObjectGroup)e).SendFullUpdateToClient(ControllingClient);
3382 } 3383 }
3383 3384 }, string.Format("SendInitialDataToClient ({0} in {1})", Name, Scene.Name), null);
3384 }, "SendInitialDataToClient", null);
3385 } 3385 }
3386 3386
3387 /// <summary> 3387 /// <summary>