diff options
author | Justin Clark-Casey (justincc) | 2011-09-06 22:26:28 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-09-06 22:26:28 +0100 |
commit | 4bf3adffb8d58a7a856307df3460ac3eb4bf6d91 (patch) | |
tree | b7e99547d70afdc49cf6993db24c935f9781945f /OpenSim/Region/Framework/Interfaces/ISceneViewer.cs | |
parent | refactor: Make logic in AM.AttachObject() clearer by not reusing existing var... (diff) | |
download | opensim-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.cs | 11 |
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 | ||
31 | namespace OpenSim.Region.Framework.Interfaces | 31 | namespace 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 |