* 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"
This commit is contained in:
John Hurliman
2009-10-14 14:25:58 -07:00
parent 25878d6828
commit 1e9e9df0b3
3 changed files with 85 additions and 71 deletions

View File

@@ -152,7 +152,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
m_throttleRates = new ThrottleRates(configSource);
}
public new void Start()
public void Start()
{
if (m_scene == null)
throw new InvalidOperationException("[LLUDPSERVER]: Cannot LLUDPServer.Start() without an IScene reference");
@@ -817,6 +817,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
private void LogoutHandler(IClientAPI client)
{
client.SendLogoutPacket();
if (client.IsActive)
RemoveClient(((LLClientView)client).UDPClient);
}
}
}