aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Interfaces/ISceneViewer.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2011-09-06 22:26:28 +0100
committerJustin Clark-Casey (justincc)2011-09-06 22:26:28 +0100
commit4bf3adffb8d58a7a856307df3460ac3eb4bf6d91 (patch)
treeb7e99547d70afdc49cf6993db24c935f9781945f /OpenSim/Region/Framework/Interfaces/ISceneViewer.cs
parentrefactor: Make logic in AM.AttachObject() clearer by not reusing existing var... (diff)
downloadopensim-SC-4bf3adffb8d58a7a856307df3460ac3eb4bf6d91.zip
opensim-SC-4bf3adffb8d58a7a856307df3460ac3eb4bf6d91.tar.gz
opensim-SC-4bf3adffb8d58a7a856307df3460ac3eb4bf6d91.tar.bz2
opensim-SC-4bf3adffb8d58a7a856307df3460ac3eb4bf6d91.tar.xz
In SceneViewer, introduce an IsEnabled flag and perform Close() under an m_pendingObjects lock in order to avoid the race condition seen by danbanner in http://opensimulator.org/mantis/view.php?id=5669
Diffstat (limited to 'OpenSim/Region/Framework/Interfaces/ISceneViewer.cs')
-rw-r--r--OpenSim/Region/Framework/Interfaces/ISceneViewer.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/ISceneViewer.cs b/OpenSim/Region/Framework/Interfaces/ISceneViewer.cs
index 2397f22..a4cc2be 100644
--- a/OpenSim/Region/Framework/Interfaces/ISceneViewer.cs
+++ b/OpenSim/Region/Framework/Interfaces/ISceneViewer.cs
@@ -30,12 +30,21 @@ using OpenSim.Region.Framework.Scenes;
30 30
31namespace OpenSim.Region.Framework.Interfaces 31namespace OpenSim.Region.Framework.Interfaces
32{ 32{
33 /// <summary>
34 /// Sends scheduled updates to it's associated ScenePresence.
35 /// </summary>
33 public interface ISceneViewer 36 public interface ISceneViewer
34 { 37 {
35 void Reset(); 38 void Reset();
36 void Close(); 39 void Close();
40
41 /// <summary>
42 /// Add the part to the queue of parts for which we need to send an update to the client
43 /// </summary>
44 /// <param name="part"></param>
37 void QueuePartForUpdate(SceneObjectPart part); 45 void QueuePartForUpdate(SceneObjectPart part);
46
38 void SendPrimUpdates(); 47 void SendPrimUpdates();
39 int GetPendingObjectsCount(); 48 int GetPendingObjectsCount();
40 } 49 }
41} 50} \ No newline at end of file