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); - } } }