aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Application/OpenSim.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-11-11 22:37:57 +0000
committerJustin Clark-Casey (justincc)2011-11-11 22:37:57 +0000
commitce8441132e43dc8e3579f413daf914d48b8f115e (patch)
treeb214c7999eb4f28389bc0e5963c05561d6734af1 /OpenSim/Region/Application/OpenSim.cs
parentremove unncessary IClientAPI parameter from SP.SendSitResponse() (diff)
downloadopensim-SC_OLD-ce8441132e43dc8e3579f413daf914d48b8f115e.zip
opensim-SC_OLD-ce8441132e43dc8e3579f413daf914d48b8f115e.tar.gz
opensim-SC_OLD-ce8441132e43dc8e3579f413daf914d48b8f115e.tar.bz2
opensim-SC_OLD-ce8441132e43dc8e3579f413daf914d48b8f115e.tar.xz
Restore sending of OutPacket() for object kills removed in commit c7dd7b1.
OutPacket() must be called within the m_killRecord lock. Otherwise the following event sequence is possible 1) LLClientView.ProcessEntityUpdates() passes the kill record check for a particular part suspends before OutPacket() 2) Another thread calls LLClientView.SendKillObject() to delete the same part and modifies the kill record 3) The same thread places the kill packet on the Task queue. 4) The earlier thread resumes and places the update packet on the Task queue after the kill packet. This results in a ghost part in the sim that only goes away after client relog. This commit also removes the unnecessary m_entityUpdates.SyncRoot locking in SendKillObject.
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions