From c307e0e4a7ddf0b07f2b0662fe55adc31b64b393 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Fri, 30 Jan 2009 20:54:38 +0000 Subject: * Extend archive save test to check for the presence of the file for the object that was in the scene * Can now pass in a wait handle to ArchiveRegion() if you want same thread signalling that the save has completed --- .../Modules/World/Archiver/ArchiveWriteRequestExecution.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestExecution.cs') diff --git a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestExecution.cs b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestExecution.cs index bade121..8eec38d 100644 --- a/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestExecution.cs +++ b/OpenSim/Region/Environment/Modules/World/Archiver/ArchiveWriteRequestExecution.cs @@ -29,6 +29,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Reflection; +using System.Threading; using System.Xml; using OpenMetaverse; using log4net; @@ -57,19 +58,22 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver protected List m_sceneObjects; protected RegionInfo m_regionInfo; protected Stream m_saveStream; + protected EventWaitHandle m_signalWhenDoneEvent; public ArchiveWriteRequestExecution( List sceneObjects, ITerrainModule terrainModule, IRegionSerialiserModule serialiser, RegionInfo regionInfo, - Stream saveStream) + Stream saveStream, + EventWaitHandle signalWhenDoneEvent) { m_sceneObjects = sceneObjects; m_terrainModule = terrainModule; m_serialiser = serialiser; m_regionInfo = regionInfo; m_saveStream = saveStream; + m_signalWhenDoneEvent = signalWhenDoneEvent; } protected internal void ReceivedAllAssets(IDictionary assetsFound, ICollection assetsNotFoundUuids) @@ -126,6 +130,9 @@ namespace OpenSim.Region.Environment.Modules.World.Archiver archive.WriteTar(m_saveStream); m_log.InfoFormat("[ARCHIVER]: Wrote out OpenSimulator archive for {0}", m_regionInfo.RegionName); + + if (m_signalWhenDoneEvent != null) + m_signalWhenDoneEvent.Set(); } /// -- cgit v1.1