diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 258683d..9895402 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -346,7 +346,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
346 | /// All manipulation of this set has to occur under an m_entityUpdates.SyncRoot lock | 346 | /// All manipulation of this set has to occur under an m_entityUpdates.SyncRoot lock |
347 | /// | 347 | /// |
348 | /// </value> | 348 | /// </value> |
349 | protected HashSet<uint> m_killRecord; | 349 | // protected HashSet<uint> m_killRecord; |
350 | 350 | ||
351 | // protected HashSet<uint> m_attachmentsSent; | 351 | // protected HashSet<uint> m_attachmentsSent; |
352 | 352 | ||
@@ -472,7 +472,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
472 | m_entityUpdates = new PriorityQueue(m_scene.Entities.Count); | 472 | m_entityUpdates = new PriorityQueue(m_scene.Entities.Count); |
473 | m_entityProps = new PriorityQueue(m_scene.Entities.Count); | 473 | m_entityProps = new PriorityQueue(m_scene.Entities.Count); |
474 | m_fullUpdateDataBlocksBuilder = new List<ObjectUpdatePacket.ObjectDataBlock>(); | 474 | m_fullUpdateDataBlocksBuilder = new List<ObjectUpdatePacket.ObjectDataBlock>(); |
475 | m_killRecord = new HashSet<uint>(); | 475 | // m_killRecord = new HashSet<uint>(); |
476 | // m_attachmentsSent = new HashSet<uint>(); | 476 | // m_attachmentsSent = new HashSet<uint>(); |
477 | 477 | ||
478 | m_assetService = m_scene.RequestModuleInterface<IAssetService>(); | 478 | m_assetService = m_scene.RequestModuleInterface<IAssetService>(); |
@@ -1574,17 +1574,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1574 | // We MUST lock for both manipulating the kill record and sending the packet, in order to avoid a race | 1574 | // We MUST lock for both manipulating the kill record and sending the packet, in order to avoid a race |
1575 | // condition where a kill can be processed before an out-of-date update for the same object. | 1575 | // condition where a kill can be processed before an out-of-date update for the same object. |
1576 | // ProcessEntityUpdates() also takes the m_killRecord lock. | 1576 | // ProcessEntityUpdates() also takes the m_killRecord lock. |
1577 | lock (m_killRecord) | 1577 | // lock (m_killRecord) |
1578 | { | 1578 | // { |
1579 | foreach (uint localID in localIDs) | 1579 | // foreach (uint localID in localIDs) |
1580 | m_killRecord.Add(localID); | 1580 | // m_killRecord.Add(localID); |
1581 | 1581 | ||
1582 | // The throttle queue used here must match that being used for updates. Otherwise, there is a | 1582 | // The throttle queue used here must match that being used for updates. Otherwise, there is a |
1583 | // chance that a kill packet put on a separate queue will be sent to the client before an existing | 1583 | // chance that a kill packet put on a separate queue will be sent to the client before an existing |
1584 | // update packet on another queue. Receiving updates after kills results in unowned and undeletable | 1584 | // update packet on another queue. Receiving updates after kills results in unowned and undeletable |
1585 | // scene objects in a viewer until that viewer is relogged in. | 1585 | // scene objects in a viewer until that viewer is relogged in. |
1586 | OutPacket(kill, ThrottleOutPacketType.Task); | 1586 | OutPacket(kill, ThrottleOutPacketType.Task); |
1587 | } | 1587 | // } |
1588 | } | 1588 | } |
1589 | } | 1589 | } |
1590 | 1590 | ||
@@ -3802,11 +3802,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3802 | // If the object is an attachment we don't want it to be in the kill | 3802 | // If the object is an attachment we don't want it to be in the kill |
3803 | // record. Else attaching from inworld and subsequently dropping | 3803 | // record. Else attaching from inworld and subsequently dropping |
3804 | // it will no longer work. | 3804 | // it will no longer work. |
3805 | lock (m_killRecord) | 3805 | // lock (m_killRecord) |
3806 | { | 3806 | // { |
3807 | m_killRecord.Remove(part.LocalId); | 3807 | // m_killRecord.Remove(part.LocalId); |
3808 | m_killRecord.Remove(part.ParentGroup.RootPart.LocalId); | 3808 | // m_killRecord.Remove(part.ParentGroup.RootPart.LocalId); |
3809 | } | 3809 | // } |
3810 | } | 3810 | } |
3811 | else | 3811 | else |
3812 | { | 3812 | { |
@@ -3822,13 +3822,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3822 | // after the root prim has been deleted. | 3822 | // after the root prim has been deleted. |
3823 | // | 3823 | // |
3824 | // We ignore this for attachments because attaching something from inworld breaks unless we do. | 3824 | // We ignore this for attachments because attaching something from inworld breaks unless we do. |
3825 | lock (m_killRecord) | 3825 | // lock (m_killRecord) |
3826 | { | 3826 | // { |
3827 | if (m_killRecord.Contains(part.LocalId)) | 3827 | // if (m_killRecord.Contains(part.LocalId)) |
3828 | continue; | 3828 | // continue; |
3829 | if (m_killRecord.Contains(part.ParentGroup.RootPart.LocalId)) | 3829 | // if (m_killRecord.Contains(part.ParentGroup.RootPart.LocalId)) |
3830 | continue; | 3830 | // continue; |
3831 | } | 3831 | // } |
3832 | } | 3832 | } |
3833 | 3833 | ||
3834 | if (part.ParentGroup.IsAttachment && m_disableFacelights) | 3834 | if (part.ParentGroup.IsAttachment && m_disableFacelights) |