aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs15
-rw-r--r--bin/OpenSim.ini.example2
2 files changed, 10 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 6c34056..42051d0 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -120,7 +120,7 @@ namespace OpenSim.Region.Framework.Scenes
120 private readonly Timer m_restartTimer = new Timer(15000); // Wait before firing 120 private readonly Timer m_restartTimer = new Timer(15000); // Wait before firing
121 private int m_incrementsof15seconds; 121 private int m_incrementsof15seconds;
122 private volatile bool m_backingup; 122 private volatile bool m_backingup;
123 private bool m_useAsyncWhenPossible = true; 123 private bool m_useAsyncWhenPossible;
124 124
125 private Dictionary<UUID, ReturnInfo> m_returns = new Dictionary<UUID, ReturnInfo>(); 125 private Dictionary<UUID, ReturnInfo> m_returns = new Dictionary<UUID, ReturnInfo>();
126 private Dictionary<UUID, SceneObjectGroup> m_groupsWithTargets = new Dictionary<UUID, SceneObjectGroup>(); 126 private Dictionary<UUID, SceneObjectGroup> m_groupsWithTargets = new Dictionary<UUID, SceneObjectGroup>();
@@ -480,7 +480,7 @@ namespace OpenSim.Region.Framework.Scenes
480 IConfig startupConfig = m_config.Configs["Startup"]; 480 IConfig startupConfig = m_config.Configs["Startup"];
481 481
482 // Should we try to run loops synchronously or asynchronously? 482 // Should we try to run loops synchronously or asynchronously?
483 m_useAsyncWhenPossible = startupConfig.GetBoolean("use_async_when_possible", true); 483 m_useAsyncWhenPossible = startupConfig.GetBoolean("use_async_when_possible", false);
484 484
485 //Animation states 485 //Animation states
486 m_useFlySlow = startupConfig.GetBoolean("enableflyslow", false); 486 m_useFlySlow = startupConfig.GetBoolean("enableflyslow", false);
@@ -4261,10 +4261,13 @@ namespace OpenSim.Region.Framework.Scenes
4261 4261
4262 public void ForEachClient(Action<IClientAPI> action, bool doAsynchronous) 4262 public void ForEachClient(Action<IClientAPI> action, bool doAsynchronous)
4263 { 4263 {
4264 if (doAsynchronous) 4264 // FIXME: Asynchronous iteration is disabled until we have a threading model that
4265 m_clientManager.ForEach(action); 4265 // can support calling this function from an async packet handler without
4266 else 4266 // potentially deadlocking
4267 m_clientManager.ForEachSync(action); 4267 //if (doAsynchronous)
4268 // m_clientManager.ForEach(action);
4269 //else
4270 // m_clientManager.ForEachSync(action);
4268 } 4271 }
4269 4272
4270 public bool TryGetClient(UUID avatarID, out IClientAPI client) 4273 public bool TryGetClient(UUID avatarID, out IClientAPI client)
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 2adc87f..4f1799e 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -49,7 +49,7 @@
49 ; in parallel. Running in parallel should increase performance 49 ; in parallel. Running in parallel should increase performance
50 ; on a multi-core system, but will make debugging more 50 ; on a multi-core system, but will make debugging more
51 ; difficult if something deadlocks or times out 51 ; difficult if something deadlocks or times out
52 use_async_when_possible = true 52 use_async_when_possible = false
53 53
54 ; Max threads to allocate on the FireAndForget thread pool 54 ; Max threads to allocate on the FireAndForget thread pool
55 ; when running with the SmartThreadPool option above 55 ; when running with the SmartThreadPool option above