aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorSean Dague2008-12-01 21:03:55 +0000
committerSean Dague2008-12-01 21:03:55 +0000
commit047e54acbc5d7f5da1c4d74059aaf6fd44332ba3 (patch)
treed9e96ff7acccd3354456608eee9a8109c70f7e4d /OpenSim
parent* minor: A few tiny bits of documentation and log message cleanup before star... (diff)
downloadopensim-SC_OLD-047e54acbc5d7f5da1c4d74059aaf6fd44332ba3.zip
opensim-SC_OLD-047e54acbc5d7f5da1c4d74059aaf6fd44332ba3.tar.gz
opensim-SC_OLD-047e54acbc5d7f5da1c4d74059aaf6fd44332ba3.tar.bz2
opensim-SC_OLD-047e54acbc5d7f5da1c4d74059aaf6fd44332ba3.tar.xz
don't close eventqueues when you leave a region. This really does seem
to fix the A -> B -> A issue. Because the code is very reuse friendly, it shouldn't cause much additional memory bloat in the sims. I'm sure this isn't the right fix, but it is progress, and confirms that the close path while leaving a region is part of the issue.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs12
1 files changed, 10 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs b/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs
index 95e0f2b..122cec7 100644
--- a/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs
+++ b/OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs
@@ -92,8 +92,16 @@ namespace OpenSim.Region.Environment.Modules.Framework
92 //scene.AddLLSDHandler("/CAPS/EQG/", EventQueueFallBack); 92 //scene.AddLLSDHandler("/CAPS/EQG/", EventQueueFallBack);
93 93
94 scene.EventManager.OnNewClient += OnNewClient; 94 scene.EventManager.OnNewClient += OnNewClient;
95 scene.EventManager.OnClientClosed += ClientClosed; 95
96 scene.EventManager.OnRemovePresence += ClientClosed; 96 // TODO: we should really close out something when we
97 // leave the region, but not doing the close actually
98 // fixes the A -> B -> A teleport bug where you don't
99 // get any textures. This means we're leaving more in
100 // memory than we should, but it does provide a better
101 // user experience.
102
103 // scene.EventManager.OnClientClosed += ClientClosed;
104 // scene.EventManager.OnRemovePresence += ClientClosed;
97 scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel; 105 scene.EventManager.OnAvatarEnteringNewParcel += AvatarEnteringParcel;
98 scene.EventManager.OnMakeChildAgent += MakeChildAgent; 106 scene.EventManager.OnMakeChildAgent += MakeChildAgent;
99 scene.EventManager.OnRegisterCaps += OnRegisterCaps; 107 scene.EventManager.OnRegisterCaps += OnRegisterCaps;