aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/World
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/CoreModules/World
parentChanged LogThreadPool to have 4 logging levels. Added console command "debug ... (diff)
downloadopensim-SC_OLD-e131e73652cf6ed2407e41c7d83dc67f49ca23ee.zip
opensim-SC_OLD-e131e73652cf6ed2407e41c7d83dc67f49ca23ee.tar.gz
opensim-SC_OLD-e131e73652cf6ed2407e41c7d83dc67f49ca23ee.tar.bz2
opensim-SC_OLD-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/CoreModules/World')
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs2
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs6
2 files changed, 4 insertions, 4 deletions
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs
index cd95ee9..136a16e 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequest.cs
@@ -199,7 +199,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
199 m_rootScene.AssetService, m_rootScene.UserAccountService, 199 m_rootScene.AssetService, m_rootScene.UserAccountService,
200 m_rootScene.RegionInfo.ScopeID, options, ReceivedAllAssets); 200 m_rootScene.RegionInfo.ScopeID, options, ReceivedAllAssets);
201 201
202 Util.FireAndForget(o => ar.Execute()); 202 Util.RunThreadNoTimeout(o => ar.Execute(), "AssetsRequest", null);
203 203
204 // CloseArchive() will be called from ReceivedAllAssets() 204 // CloseArchive() will be called from ReceivedAllAssets()
205 } 205 }
diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
index 2d0da61..4f428c3 100644
--- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
+++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs
@@ -143,7 +143,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
143 m_requestState = RequestState.Running; 143 m_requestState = RequestState.Running;
144 144
145 m_log.DebugFormat("[ARCHIVER]: AssetsRequest executed looking for {0} possible assets", m_repliesRequired); 145 m_log.DebugFormat("[ARCHIVER]: AssetsRequest executed looking for {0} possible assets", m_repliesRequired);
146 146
147 // We can stop here if there are no assets to fetch 147 // We can stop here if there are no assets to fetch
148 if (m_repliesRequired == 0) 148 if (m_repliesRequired == 0)
149 { 149 {
@@ -226,7 +226,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
226 finally 226 finally
227 { 227 {
228 if (timedOut) 228 if (timedOut)
229 Util.FireAndForget(PerformAssetsRequestCallback, true); 229 Util.RunThreadNoTimeout(PerformAssetsRequestCallback, "AssetsRequestCallback", true);
230 } 230 }
231 } 231 }
232 232
@@ -295,7 +295,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
295 295
296 // We want to stop using the asset cache thread asap 296 // 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 297 // as we now need to do the work of producing the rest of the archive
298 Util.FireAndForget(PerformAssetsRequestCallback, false); 298 Util.RunThreadNoTimeout(PerformAssetsRequestCallback, "AssetsRequestCallback", false);
299 } 299 }
300 else 300 else
301 { 301 {