From afe63faa2ee9cbdb8a8e0ee755a4d5ef06fe770b Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Tue, 18 Dec 2007 00:34:42 +0000 Subject: * Fix for mantis 0000040 After client logout remote host closed connection on Simulator makes sim unuseable->'Closed Connection Called' * I've fundamentally changed a few things, so this is experimental * The routine that I used needs to be tested on Linux. I don't expect it to cause a problem, but hey, it might. * Child agents are still not logged off properly, so when the first set time out, the second set get logged off also, on the second log in if the second login is initiated before the first one fully times out. --- OpenSim/Region/Environment/Scenes/Scene.cs | 5 +++++ OpenSim/Region/Environment/Scenes/SceneBase.cs | 2 ++ 2 files changed, 7 insertions(+) (limited to 'OpenSim/Region/Environment') diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 1145b00..bfdf517 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -1243,7 +1243,12 @@ namespace OpenSim.Region.Environment.Scenes // Remove client agent from profile, so new logins will work CommsManager.UserService.clearUserAgent(agentID); } + public override void CloseAllAgents(uint circuitcode) + { + // Called by ClientView to kill all circuit codes + ClientManager.CloseAllAgents(circuitcode); + } public void NotifyMyCoarseLocationChange() { ForEachScenePresence(delegate(ScenePresence presence) { presence.CoarseLocationChange(); }); diff --git a/OpenSim/Region/Environment/Scenes/SceneBase.cs b/OpenSim/Region/Environment/Scenes/SceneBase.cs index 75118e2..35d88eb 100644 --- a/OpenSim/Region/Environment/Scenes/SceneBase.cs +++ b/OpenSim/Region/Environment/Scenes/SceneBase.cs @@ -130,6 +130,8 @@ namespace OpenSim.Region.Environment.Scenes /// public abstract void RemoveClient(LLUUID agentID); + public abstract void CloseAllAgents(uint circuitcode); + #endregion /// -- cgit v1.1