diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 15 |
1 files changed, 9 insertions, 6 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) |