diff options
author | UbitUmarov | 2014-08-23 20:59:11 +0100 |
---|---|---|
committer | UbitUmarov | 2014-08-23 20:59:11 +0100 |
commit | 63d1916f511fdbbec8bc111f4bf80b3e4e0bc267 (patch) | |
tree | 859db7bf594ac204a786cc41599fdea6727361da /OpenSim/Framework/PriorityQueue.cs | |
parent | back to sending attachment sog kills in place of the hack. This is the (diff) | |
download | opensim-SC-63d1916f511fdbbec8bc111f4bf80b3e4e0bc267.zip opensim-SC-63d1916f511fdbbec8bc111f4bf80b3e4e0bc267.tar.gz opensim-SC-63d1916f511fdbbec8bc111f4bf80b3e4e0bc267.tar.bz2 opensim-SC-63d1916f511fdbbec8bc111f4bf80b3e4e0bc267.tar.xz |
Remove entities from updates queues on kill. Do it sync so enqueues after
the kill work
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/PriorityQueue.cs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/OpenSim/Framework/PriorityQueue.cs b/OpenSim/Framework/PriorityQueue.cs index d6c39a7..4f05f65 100644 --- a/OpenSim/Framework/PriorityQueue.cs +++ b/OpenSim/Framework/PriorityQueue.cs | |||
@@ -134,6 +134,21 @@ namespace OpenSim.Framework | |||
134 | return true; | 134 | return true; |
135 | } | 135 | } |
136 | 136 | ||
137 | |||
138 | public void Remove(List<uint> ids) | ||
139 | { | ||
140 | LookupItem lookup; | ||
141 | |||
142 | foreach (uint localid in ids) | ||
143 | { | ||
144 | if (m_lookupTable.TryGetValue(localid, out lookup)) | ||
145 | { | ||
146 | lookup.Heap.Remove(lookup.Handle); | ||
147 | m_lookupTable.Remove(localid); | ||
148 | } | ||
149 | } | ||
150 | } | ||
151 | |||
137 | /// <summary> | 152 | /// <summary> |
138 | /// Remove an item from one of the queues. Specifically, it removes the | 153 | /// Remove an item from one of the queues. Specifically, it removes the |
139 | /// oldest item from the next queue in order to provide fair access to | 154 | /// oldest item from the next queue in order to provide fair access to |