diff options
Diffstat (limited to 'OpenSim/Region/Environment/Modules/World')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequest.cs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequest.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequest.cs index 86ee753..935a17f 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequest.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequest.cs | |||
@@ -32,6 +32,7 @@ using OpenSim.Region.Environment.Modules.World.Serialiser; | |||
32 | using OpenSim.Region.Environment.Scenes; | 32 | using OpenSim.Region.Environment.Scenes; |
33 | using System.Collections.Generic; | 33 | using System.Collections.Generic; |
34 | using System.Reflection; | 34 | using System.Reflection; |
35 | using System.Threading; | ||
35 | using libsecondlife; | 36 | using libsecondlife; |
36 | using log4net; | 37 | using log4net; |
37 | using Nini.Config; | 38 | using Nini.Config; |
@@ -216,8 +217,19 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver | |||
216 | 217 | ||
217 | if (m_assets.Count == m_repliesRequired) | 218 | if (m_assets.Count == m_repliesRequired) |
218 | { | 219 | { |
219 | m_assetsRequestCallback(m_assets); | 220 | // We want to stop using the asset cache thread asap as we now need to do the actual work of producing the archive |
221 | Thread newThread = new Thread(PerformAssetsRequestCallback); | ||
222 | newThread.Name = "OpenSimulator archiving thread post assets receipt"; | ||
223 | newThread.Start(); | ||
220 | } | 224 | } |
221 | } | 225 | } |
226 | |||
227 | /// <summary> | ||
228 | /// Perform the callback on the original requester of the assets | ||
229 | /// </summary> | ||
230 | protected void PerformAssetsRequestCallback() | ||
231 | { | ||
232 | m_assetsRequestCallback(m_assets); | ||
233 | } | ||
222 | } | 234 | } |
223 | } | 235 | } |