diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 2 |
2 files changed, 3 insertions, 6 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index a3dd53e..65ffe92 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | |||
@@ -140,7 +140,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
140 | icon.EndInvoke(iar); | 140 | icon.EndInvoke(iar); |
141 | } | 141 | } |
142 | 142 | ||
143 | ExpiringCache<string, bool> _failedSims = new ExpiringCache<string, bool>(); | ||
144 | public void SendChildAgentDataUpdate(AgentPosition cAgentData, ScenePresence presence) | 143 | public void SendChildAgentDataUpdate(AgentPosition cAgentData, ScenePresence presence) |
145 | { | 144 | { |
146 | // This assumes that we know what our neighbors are. | 145 | // This assumes that we know what our neighbors are. |
@@ -158,15 +157,13 @@ namespace OpenSim.Region.Framework.Scenes | |||
158 | Utils.LongToUInts(regionHandle, out x, out y); | 157 | Utils.LongToUInts(regionHandle, out x, out y); |
159 | GridRegion dest = m_scene.GridService.GetRegionByPosition(UUID.Zero, (int)x, (int)y); | 158 | GridRegion dest = m_scene.GridService.GetRegionByPosition(UUID.Zero, (int)x, (int)y); |
160 | bool v = true; | 159 | bool v = true; |
161 | if (! simulatorList.Contains(dest.ServerURI) && !_failedSims.TryGetValue(dest.ServerURI, out v)) | 160 | if (! simulatorList.Contains(dest.ServerURI)) |
162 | { | 161 | { |
163 | // we havent seen this simulator before, add it to the list | 162 | // we havent seen this simulator before, add it to the list |
164 | // and send it an update | 163 | // and send it an update |
165 | simulatorList.Add(dest.ServerURI); | 164 | simulatorList.Add(dest.ServerURI); |
166 | // Let move this to sync. Mono definitely does not like async networking. | 165 | // Let move this to sync. Mono definitely does not like async networking. |
167 | if (!m_scene.SimulationService.UpdateAgent(dest, cAgentData)) | 166 | m_scene.SimulationService.UpdateAgent(dest, cAgentData); |
168 | // Also if it fails, get it out of the loop for a bit | ||
169 | _failedSims.Add(dest.ServerURI, true, 120); | ||
170 | 167 | ||
171 | // Leaving this here as a reminder that we tried, and it sucks. | 168 | // Leaving this here as a reminder that we tried, and it sucks. |
172 | //SendChildAgentDataUpdateDelegate d = SendChildAgentDataUpdateAsync; | 169 | //SendChildAgentDataUpdateDelegate d = SendChildAgentDataUpdateAsync; |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index b38523f..283de39 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1255,7 +1255,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1255 | { | 1255 | { |
1256 | IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); | 1256 | IEntityTransferModule m_agentTransfer = m_scene.RequestModuleInterface<IEntityTransferModule>(); |
1257 | if (m_agentTransfer != null) | 1257 | if (m_agentTransfer != null) |
1258 | m_agentTransfer.EnableChildAgents(this); | 1258 | Util.FireAndForget(delegate { m_agentTransfer.EnableChildAgents(this); }); |
1259 | 1259 | ||
1260 | IFriendsModule friendsModule = m_scene.RequestModuleInterface<IFriendsModule>(); | 1260 | IFriendsModule friendsModule = m_scene.RequestModuleInterface<IFriendsModule>(); |
1261 | if (friendsModule != null) | 1261 | if (friendsModule != null) |