diff --git a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
index fb11e72674..b87e5658e2 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
@@ -684,8 +684,6 @@ namespace OpenSim.Region.Framework.Scenes
}
}
- delegate void PurgeFolderDelegate(UUID userID, UUID folder);
-
///
/// This should delete all the items and folders in the given directory.
///
@@ -693,10 +691,14 @@ namespace OpenSim.Region.Framework.Scenes
///
public void HandlePurgeInventoryDescendents(IClientAPI remoteClient, UUID folderID)
{
- PurgeFolderDelegate d = PurgeFolderAsync;
try
{
- d.BeginInvoke(remoteClient.AgentId, folderID, PurgeFolderCompleted, d);
+ UUID agent = remoteClient.AgentId;
+ UUID folder = folderID;
+ Util.FireAndForget(delegate
+ {
+ PurgeFolderAsync(agent, folder);
+ });
}
catch (Exception e)
{
@@ -720,11 +722,5 @@ namespace OpenSim.Region.Framework.Scenes
m_log.WarnFormat("[AGENT INVENTORY]: Exception on async purge folder for user {0}: {1}", userID, e.Message);
}
}
-
- private void PurgeFolderCompleted(IAsyncResult iar)
- {
- PurgeFolderDelegate d = (PurgeFolderDelegate)iar.AsyncState;
- d.EndInvoke(iar);
- }
}
}