diff options
author | Sean Dague | 2008-12-01 21:03:55 +0000 |
---|---|---|
committer | Sean Dague | 2008-12-01 21:03:55 +0000 |
commit | 047e54acbc5d7f5da1c4d74059aaf6fd44332ba3 (patch) | |
tree | d9e96ff7acccd3354456608eee9a8109c70f7e4d | |
parent | * minor: A few tiny bits of documentation and log message cleanup before star... (diff) | |
download | opensim-SC-047e54acbc5d7f5da1c4d74059aaf6fd44332ba3.zip opensim-SC-047e54acbc5d7f5da1c4d74059aaf6fd44332ba3.tar.gz opensim-SC-047e54acbc5d7f5da1c4d74059aaf6fd44332ba3.tar.bz2 opensim-SC-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.
-rw-r--r-- | OpenSim/Region/Environment/Modules/Framework/EventQueueGetModule.cs | 12 |
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; |