diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs index f214e191a1..7d25ca949f 100644 --- a/OpenSim/Framework/Communications/Cache/AssetCache.cs +++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs @@ -515,7 +515,10 @@ namespace OpenSim.Framework.Communications.Cache req.Params = transferRequest.TransferInfo.Params; req.AssetInf = new AssetInfo(asset); req.NumPackets = CalculateNumPackets(asset.Data); - lock (AssetRequests) AssetRequests.Add(req); + lock (AssetRequests) + { + AssetRequests.Add(req); + } } /// @@ -536,26 +539,25 @@ namespace OpenSim.Framework.Communications.Cache AssetRequest req; AssetRequestToClient req2 = new AssetRequestToClient(); - for (int i = 0; i < num; i++) + lock (AssetRequests) { - lock (AssetRequests) + for (int i = 0; i < num; i++) { req = AssetRequests[0]; AssetRequests.RemoveAt(0); + req2.AssetInf = req.AssetInf; + req2.AssetRequestSource = req.AssetRequestSource; + req2.DataPointer = req.DataPointer; + req2.DiscardLevel = req.DiscardLevel; + req2.ImageInfo = req.ImageInfo; + req2.IsTextureRequest = req.IsTextureRequest; + req2.NumPackets = req.NumPackets; + req2.PacketCounter = req.PacketCounter; + req2.Params = req.Params; + req2.RequestAssetID = req.RequestAssetID; + req2.TransferRequestID = req.TransferRequestID; + req.RequestUser.SendAsset(req2); } - - req2.AssetInf = req.AssetInf; - req2.AssetRequestSource = req.AssetRequestSource; - req2.DataPointer = req.DataPointer; - req2.DiscardLevel = req.DiscardLevel; - req2.ImageInfo = req.ImageInfo; - req2.IsTextureRequest = req.IsTextureRequest; - req2.NumPackets = req.NumPackets; - req2.PacketCounter = req.PacketCounter; - req2.Params = req.Params; - req2.RequestAssetID = req.RequestAssetID; - req2.TransferRequestID = req.TransferRequestID; - req.RequestUser.SendAsset(req2); } }