aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
authorMelanie2012-02-20 20:23:14 +0100
committerMelanie2012-02-20 20:23:14 +0100
commitee62bf3c697e9a8571445b981dffe3afab695a99 (patch)
treeaa2548ec2f36b8512402089d88782616263b2048 /OpenSim/Region/Framework/Scenes
parentMake vehicles retain velocity when crossing between regions. (diff)
parentMerge branch 'master' into careminster (diff)
downloadopensim-SC-ee62bf3c697e9a8571445b981dffe3afab695a99.zip
opensim-SC-ee62bf3c697e9a8571445b981dffe3afab695a99.tar.gz
opensim-SC-ee62bf3c697e9a8571445b981dffe3afab695a99.tar.bz2
opensim-SC-ee62bf3c697e9a8571445b981dffe3afab695a99.tar.xz
Merge branch 'master' of ssh://3dhosting.de/var/git/careminster
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs2
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)