aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
authorOren Hurvitz2014-01-29 16:14:27 +0200
committerOren Hurvitz2014-03-25 08:01:55 +0100
commite131e73652cf6ed2407e41c7d83dc67f49ca23ee (patch)
treee0d8573e47c8edd7f2effca8d4177bc57bd10a26 /OpenSim/Region/Framework
parentChanged LogThreadPool to have 4 logging levels. Added console command "debug ... (diff)
downloadopensim-SC-e131e73652cf6ed2407e41c7d83dc67f49ca23ee.zip
opensim-SC-e131e73652cf6ed2407e41c7d83dc67f49ca23ee.tar.gz
opensim-SC-e131e73652cf6ed2407e41c7d83dc67f49ca23ee.tar.bz2
opensim-SC-e131e73652cf6ed2407e41c7d83dc67f49ca23ee.tar.xz
Run slow operations in a separate thread, instead of using FireAndForget (which has a 1-minute timeout)
Resolves http://opensimulator.org/mantis/view.php?id=6945
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs6
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs4
2 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 51f6c5e..726d8e2 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -1509,7 +1509,7 @@ namespace OpenSim.Region.Framework.Scenes
1509 { 1509 {
1510 tmpMS = Util.EnvironmentTickCount(); 1510 tmpMS = Util.EnvironmentTickCount();
1511 m_cleaningTemps = true; 1511 m_cleaningTemps = true;
1512 Util.FireAndForget(delegate { CleanTempObjects(); m_cleaningTemps = false; }); 1512 Util.RunThreadNoTimeout(delegate { CleanTempObjects(); m_cleaningTemps = false; }, "CleanTempObjects", null);
1513 tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpMS); 1513 tempOnRezMS = Util.EnvironmentTickCountSubtract(tmpMS);
1514 } 1514 }
1515 1515
@@ -1682,7 +1682,7 @@ namespace OpenSim.Region.Framework.Scenes
1682 if (!m_backingup) 1682 if (!m_backingup)
1683 { 1683 {
1684 m_backingup = true; 1684 m_backingup = true;
1685 Util.FireAndForget(BackupWaitCallback); 1685 Util.RunThreadNoTimeout(BackupWaitCallback, "BackupWaitCallback", null);
1686 } 1686 }
1687 } 1687 }
1688 1688
@@ -1695,7 +1695,7 @@ namespace OpenSim.Region.Framework.Scenes
1695 } 1695 }
1696 1696
1697 /// <summary> 1697 /// <summary>
1698 /// Wrapper for Backup() that can be called with Util.FireAndForget() 1698 /// Wrapper for Backup() that can be called with Util.RunThreadNoTimeout()
1699 /// </summary> 1699 /// </summary>
1700 private void BackupWaitCallback(object o) 1700 private void BackupWaitCallback(object o)
1701 { 1701 {
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 64c464d..080cdb4 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -3201,7 +3201,7 @@ namespace OpenSim.Region.Framework.Scenes
3201 public void SendInitialDataToMe() 3201 public void SendInitialDataToMe()
3202 { 3202 {
3203 // Send all scene object to the new client 3203 // Send all scene object to the new client
3204 Util.FireAndForget(delegate 3204 Util.RunThreadNoTimeout(delegate
3205 { 3205 {
3206 // we created a new ScenePresence (a new child agent) in a fresh region. 3206 // we created a new ScenePresence (a new child agent) in a fresh region.
3207 // Request info about all the (root) agents in this region 3207 // Request info about all the (root) agents in this region
@@ -3216,7 +3216,7 @@ namespace OpenSim.Region.Framework.Scenes
3216 ((SceneObjectGroup)e).SendFullUpdateToClient(ControllingClient); 3216 ((SceneObjectGroup)e).SendFullUpdateToClient(ControllingClient);
3217 } 3217 }
3218 3218
3219 }); 3219 }, "SendInitialDataToMe", null);
3220 } 3220 }
3221 3221
3222 /// <summary> 3222 /// <summary>