diff options
author | Justin Clarke Casey | 2008-06-02 17:54:43 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-06-02 17:54:43 +0000 |
commit | 615e64696f4120c8e832c61d1b5dd766b9c90ce7 (patch) | |
tree | b96f217825687f6147676cb05594d73b92d24a96 /OpenSim/Region/Environment/Modules | |
parent | * experimental: Make OpenSim archiver save and reload all prim textures when ... (diff) | |
download | opensim-SC_OLD-615e64696f4120c8e832c61d1b5dd766b9c90ce7.zip opensim-SC_OLD-615e64696f4120c8e832c61d1b5dd766b9c90ce7.tar.gz opensim-SC_OLD-615e64696f4120c8e832c61d1b5dd766b9c90ce7.tar.bz2 opensim-SC_OLD-615e64696f4120c8e832c61d1b5dd766b9c90ce7.tar.xz |
* experimental: Once we've received all the required assets from the asset service, launch the actual writing of the archive on a separate thread (to stop tieing up the asset cache received notifier thread)
Diffstat (limited to 'OpenSim/Region/Environment/Modules')
-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 | } |