From 0b7f10efedc33888e9a59973cc397be1e2457f5b Mon Sep 17 00:00:00 2001 From: MW Date: Wed, 27 Feb 2008 11:52:02 +0000 Subject: [PATCH] UserService.ClearAgent call is no longer made when a childagent connection is being closed. DisableSimulatorPacket now skips the packet throttles --- OpenSim/Region/ClientStack/ClientView.cs | 2 +- OpenSim/Region/Environment/Scenes/Scene.cs | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index 346bafc246..de3e29d584 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs @@ -345,7 +345,7 @@ namespace OpenSim.Region.ClientStack // Send the STOP packet DisableSimulatorPacket disable = (DisableSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.DisableSimulator); - OutPacket(disable, ThrottleOutPacketType.Task); + OutPacket(disable, ThrottleOutPacketType.Unknown); m_packetQueue.Close(); diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 1088fc18d0..32136be843 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -1555,7 +1555,10 @@ namespace OpenSim.Region.Environment.Scenes } // Remove client agent from profile, so new logins will work - m_sceneGridService.ClearUserAgent(agentID); + if (!avatar.IsChildAgent) + { + m_sceneGridService.ClearUserAgent(agentID); + } //m_log.InfoFormat("[SCENE] Memory pre GC {0}", System.GC.GetTotalMemory(false)); //m_log.InfoFormat("[SCENE] Memory post GC {0}", System.GC.GetTotalMemory(true)); @@ -1631,10 +1634,6 @@ namespace OpenSim.Region.Environment.Scenes m_sceneGridService.OnExpectPrim += IncomingInterRegionPrimGroup; m_sceneGridService.OnRemoveKnownRegionFromAvatar += HandleRemoveKnownRegionsFromAvatar; - - - - m_sceneGridService.KillObject = SendKillObject; } @@ -1788,7 +1787,7 @@ namespace OpenSim.Region.Environment.Scenes } // Tell a single agent to disconnect from the region. libsecondlife.Packets.DisableSimulatorPacket disable = (libsecondlife.Packets.DisableSimulatorPacket)PacketPool.Instance.GetPacket(libsecondlife.Packets.PacketType.DisableSimulator); - presence.ControllingClient.OutPacket(disable, ThrottleOutPacketType.Task); + presence.ControllingClient.OutPacket(disable, ThrottleOutPacketType.Unknown); presence.ControllingClient.Close(true); } }