diff options
author | John Hurliman | 2009-10-26 16:33:04 -0700 |
---|---|---|
committer | John Hurliman | 2009-10-26 16:33:04 -0700 |
commit | 4847e62e9fd1cd473cc180220a379efba93f94a6 (patch) | |
tree | 509da282d16f1cfa7d2500debc5b56c48799ec98 /OpenSim/Region/ClientStack | |
parent | Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ... (diff) | |
download | opensim-SC_OLD-4847e62e9fd1cd473cc180220a379efba93f94a6.zip opensim-SC_OLD-4847e62e9fd1cd473cc180220a379efba93f94a6.tar.gz opensim-SC_OLD-4847e62e9fd1cd473cc180220a379efba93f94a6.tar.bz2 opensim-SC_OLD-4847e62e9fd1cd473cc180220a379efba93f94a6.tar.xz |
* Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly
* Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async
* Changed Scene.ForEachClient to respect use_async_when_possible
* Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 8c3c5be..dee0a39 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -262,7 +262,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
262 | for (int i = 0; i < packetCount; i++) | 262 | for (int i = 0; i < packetCount; i++) |
263 | { | 263 | { |
264 | byte[] data = datas[i]; | 264 | byte[] data = datas[i]; |
265 | m_scene.ClientManager.ForEach( | 265 | m_scene.ForEachClient( |
266 | delegate(IClientAPI client) | 266 | delegate(IClientAPI client) |
267 | { | 267 | { |
268 | if (client is LLClientView) | 268 | if (client is LLClientView) |
@@ -274,7 +274,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
274 | else | 274 | else |
275 | { | 275 | { |
276 | byte[] data = packet.ToBytes(); | 276 | byte[] data = packet.ToBytes(); |
277 | m_scene.ClientManager.ForEach( | 277 | m_scene.ForEachClient( |
278 | delegate(IClientAPI client) | 278 | delegate(IClientAPI client) |
279 | { | 279 | { |
280 | if (client is LLClientView) | 280 | if (client is LLClientView) |