diff options
author | UbitUmarov | 2014-08-24 00:44:14 +0100 |
---|---|---|
committer | UbitUmarov | 2014-08-24 00:44:14 +0100 |
commit | f4a6be86546b3bfeefbdbade33f2faabdd080c1f (patch) | |
tree | 643fa715a1c8b37bc7b3b976344d9aa405e138a8 /OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |
parent | send avatar kills after attachments, send otherattachments before rest of (diff) | |
download | opensim-SC_OLD-f4a6be86546b3bfeefbdbade33f2faabdd080c1f.zip opensim-SC_OLD-f4a6be86546b3bfeefbdbade33f2faabdd080c1f.tar.gz opensim-SC_OLD-f4a6be86546b3bfeefbdbade33f2faabdd080c1f.tar.bz2 opensim-SC_OLD-f4a6be86546b3bfeefbdbade33f2faabdd080c1f.tar.xz |
clean sendKill a bit, remove a IsChild that is set too early in a calling
path
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index e62bea6..e19877c 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -1677,28 +1677,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1677 | kill.Header.Reliable = true; | 1677 | kill.Header.Reliable = true; |
1678 | kill.Header.Zerocoded = true; | 1678 | kill.Header.Zerocoded = true; |
1679 | 1679 | ||
1680 | if (localIDs.Count == 1 && m_scene.GetScenePresence(localIDs[0]) != null) | 1680 | OutPacket(kill, ThrottleOutPacketType.Task); |
1681 | { | 1681 | } |
1682 | OutPacket(kill, ThrottleOutPacketType.Task); | ||
1683 | } | ||
1684 | else | ||
1685 | { | ||
1686 | // We MUST lock for both manipulating the kill record and sending the packet, in order to avoid a race | ||
1687 | // condition where a kill can be processed before an out-of-date update for the same object. | ||
1688 | // ProcessEntityUpdates() also takes the m_killRecord lock. | ||
1689 | // lock (m_killRecord) | ||
1690 | // { | ||
1691 | // foreach (uint localID in localIDs) | ||
1692 | // m_killRecord.Add(localID); | ||
1693 | |||
1694 | // The throttle queue used here must match that being used for updates. Otherwise, there is a | ||
1695 | // chance that a kill packet put on a separate queue will be sent to the client before an existing | ||
1696 | // update packet on another queue. Receiving updates after kills results in unowned and undeletable | ||
1697 | // scene objects in a viewer until that viewer is relogged in. | ||
1698 | OutPacket(kill, ThrottleOutPacketType.Task); | ||
1699 | // } | ||
1700 | } | ||
1701 | } | ||
1702 | 1682 | ||
1703 | /// <summary> | 1683 | /// <summary> |
1704 | /// Send information about the items contained in a folder to the client. | 1684 | /// Send information about the items contained in a folder to the client. |