diff options
author | John Hurliman | 2009-10-14 14:25:58 -0700 |
---|---|---|
committer | John Hurliman | 2009-10-14 14:25:58 -0700 |
commit | 1e9e9df0b3c2c6fad5e94db96c799bb31c193af1 (patch) | |
tree | 383ef98b9ec98793103cbf21235df80523ce9e71 /OpenSim/Region | |
parent | * Added the "show connections" command to print out all of the currently trac... (diff) | |
download | opensim-SC-1e9e9df0b3c2c6fad5e94db96c799bb31c193af1.zip opensim-SC-1e9e9df0b3c2c6fad5e94db96c799bb31c193af1.tar.gz opensim-SC-1e9e9df0b3c2c6fad5e94db96c799bb31c193af1.tar.bz2 opensim-SC-1e9e9df0b3c2c6fad5e94db96c799bb31c193af1.tar.xz |
* Switched to a plain lock for the ClientManager collections and protected the TryGetValues with try/catch instead of a lock
* Added ClientManager.ForEachSync() for operations that need to run synchronously, such as "show connections"
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 0fcc21e..ca6a2a3 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -933,7 +933,7 @@ namespace OpenSim | |||
933 | m_sceneManager.ForEachScene( | 933 | m_sceneManager.ForEachScene( |
934 | delegate(Scene scene) | 934 | delegate(Scene scene) |
935 | { | 935 | { |
936 | scene.ClientManager.ForEach( | 936 | scene.ClientManager.ForEachSync( |
937 | delegate(IClientAPI client) | 937 | delegate(IClientAPI client) |
938 | { | 938 | { |
939 | connections.AppendFormat("{0}: {1} ({2}) from {3} on circuit {4}\n", | 939 | connections.AppendFormat("{0}: {1} ({2}) from {3} on circuit {4}\n", |
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 384eda7..09845d6 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -152,7 +152,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
152 | m_throttleRates = new ThrottleRates(configSource); | 152 | m_throttleRates = new ThrottleRates(configSource); |
153 | } | 153 | } |
154 | 154 | ||
155 | public new void Start() | 155 | public void Start() |
156 | { | 156 | { |
157 | if (m_scene == null) | 157 | if (m_scene == null) |
158 | throw new InvalidOperationException("[LLUDPSERVER]: Cannot LLUDPServer.Start() without an IScene reference"); | 158 | throw new InvalidOperationException("[LLUDPSERVER]: Cannot LLUDPServer.Start() without an IScene reference"); |
@@ -817,6 +817,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
817 | private void LogoutHandler(IClientAPI client) | 817 | private void LogoutHandler(IClientAPI client) |
818 | { | 818 | { |
819 | client.SendLogoutPacket(); | 819 | client.SendLogoutPacket(); |
820 | if (client.IsActive) | ||
821 | RemoveClient(((LLClientView)client).UDPClient); | ||
820 | } | 822 | } |
821 | } | 823 | } |
822 | } | 824 | } |