diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs index ffcf063121..aef3ad349d 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveWriteRequestPreparation.cs @@ -219,12 +219,19 @@ namespace OpenSim.Region.CoreModules.World.Archiver m_log.InfoFormat("[ARCHIVER]: Added control file to archive."); if (SaveAssets) - new AssetsRequest( - new AssetsArchiver(archiveWriter), assetUuids, - m_scene.AssetService, m_scene.UserAccountService, - m_scene.RegionInfo.ScopeID, options, awre.ReceivedAllAssets).Execute(); + { + AssetsRequest ar + = new AssetsRequest( + new AssetsArchiver(archiveWriter), assetUuids, + m_scene.AssetService, m_scene.UserAccountService, + m_scene.RegionInfo.ScopeID, options, awre.ReceivedAllAssets); + + Util.FireAndForget(o => ar.Execute()); + } else - awre.ReceivedAllAssets(new List(), new List()); + { + Util.FireAndForget(o => awre.ReceivedAllAssets(new List(), new List())); + } } catch (Exception) { diff --git a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs index 8e29e3ca9b..55110dcc86 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/AssetsRequest.cs @@ -141,13 +141,15 @@ namespace OpenSim.Region.CoreModules.World.Archiver PerformAssetsRequestCallback(null); return; } - - foreach (KeyValuePair kvp in m_uuids) - { - m_assetService.Get(kvp.Key.ToString(), kvp.Value, PreAssetRequestCallback); - } m_requestCallbackTimer.Enabled = true; + + foreach (KeyValuePair kvp in m_uuids) + { +// m_assetService.Get(kvp.Key.ToString(), kvp.Value, PreAssetRequestCallback); + AssetBase asset = m_assetService.Get(kvp.Key.ToString()); + PreAssetRequestCallback(kvp.Key.ToString(), kvp.Value, asset); + } } protected void OnRequestCallbackTimeout(object source, ElapsedEventArgs args)