aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorJohn Hurliman2009-10-26 16:33:04 -0700
committerJohn Hurliman2009-10-26 16:33:04 -0700
commit4847e62e9fd1cd473cc180220a379efba93f94a6 (patch)
tree509da282d16f1cfa7d2500debc5b56c48799ec98 /OpenSim/Region/ClientStack
parentAdded calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ... (diff)
downloadopensim-SC-4847e62e9fd1cd473cc180220a379efba93f94a6.zip
opensim-SC-4847e62e9fd1cd473cc180220a379efba93f94a6.tar.gz
opensim-SC-4847e62e9fd1cd473cc180220a379efba93f94a6.tar.bz2
opensim-SC-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.cs4
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)