UserService.ClearAgent call is no longer made when a childagent connection is being closed.

DisableSimulatorPacket now skips the packet throttles
0.6.0-stable
MW 2008-02-27 11:52:02 +00:00
parent 906404a14a
commit 0b7f10efed
2 changed files with 6 additions and 7 deletions

View File

@ -345,7 +345,7 @@ namespace OpenSim.Region.ClientStack
// Send the STOP packet // Send the STOP packet
DisableSimulatorPacket disable = (DisableSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.DisableSimulator); DisableSimulatorPacket disable = (DisableSimulatorPacket)PacketPool.Instance.GetPacket(PacketType.DisableSimulator);
OutPacket(disable, ThrottleOutPacketType.Task); OutPacket(disable, ThrottleOutPacketType.Unknown);
m_packetQueue.Close(); m_packetQueue.Close();

View File

@ -1555,7 +1555,10 @@ namespace OpenSim.Region.Environment.Scenes
} }
// Remove client agent from profile, so new logins will work // 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 pre GC {0}", System.GC.GetTotalMemory(false));
//m_log.InfoFormat("[SCENE] Memory post GC {0}", System.GC.GetTotalMemory(true)); //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.OnExpectPrim += IncomingInterRegionPrimGroup;
m_sceneGridService.OnRemoveKnownRegionFromAvatar += HandleRemoveKnownRegionsFromAvatar; m_sceneGridService.OnRemoveKnownRegionFromAvatar += HandleRemoveKnownRegionsFromAvatar;
m_sceneGridService.KillObject = SendKillObject; m_sceneGridService.KillObject = SendKillObject;
} }
@ -1788,7 +1787,7 @@ namespace OpenSim.Region.Environment.Scenes
} }
// Tell a single agent to disconnect from the region. // Tell a single agent to disconnect from the region.
libsecondlife.Packets.DisableSimulatorPacket disable = (libsecondlife.Packets.DisableSimulatorPacket)PacketPool.Instance.GetPacket(libsecondlife.Packets.PacketType.DisableSimulator); 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); presence.ControllingClient.Close(true);
} }
} }