diff options
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 15 | ||||
-rw-r--r-- | bin/OpenSim.ini.example | 2 |
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 |