aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorDiva Canto2009-08-11 16:47:36 -0700
committerDiva Canto2009-08-11 16:47:36 -0700
commit10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29 (patch)
tree9aedb7a830e3bf2c3638e010c21712851cc279b1 /OpenSim
parentSome more hammering on the head of the obsolete rest inventory handlers, just... (diff)
downloadopensim-SC_OLD-10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29.zip
opensim-SC_OLD-10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29.tar.gz
opensim-SC_OLD-10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29.tar.bz2
opensim-SC_OLD-10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29.tar.xz
Fixes a race condition in EQ processing that was making EQs pop up again upon client close.
Commented remote call on GetSystemFolders again, so that it's not live yet.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs2
-rw-r--r--OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs20
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs24
-rw-r--r--OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs28
4 files changed, 39 insertions, 35 deletions
diff --git a/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs b/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs
index 56545d6..0c6900d 100644
--- a/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs
+++ b/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs
@@ -210,7 +210,7 @@ namespace OpenSim.Region.CoreModules.Agent.Capabilities
210 210
211 public void SetChildrenSeed(UUID agentID, Dictionary<ulong, string> seeds) 211 public void SetChildrenSeed(UUID agentID, Dictionary<ulong, string> seeds)
212 { 212 {
213 //m_log.Debug(" !!! Setting child seeds in {0} to {1}", RegionInfo.RegionName, value.Count); 213 //m_log.DebugFormat(" !!! Setting child seeds in {0} to {1}", m_scene.RegionInfo.RegionName, seeds.Count);
214 childrenSeeds[agentID] = seeds; 214 childrenSeeds[agentID] = seeds;
215 } 215 }
216 216
diff --git a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
index 8230401..34d46a0 100644
--- a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs
@@ -328,15 +328,19 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue
328 328
329 public bool HasEvents(UUID agentID) 329 public bool HasEvents(UUID agentID)
330 { 330 {
331 Queue<OSD> queue = TryGetQueue(agentID); 331 // Don't use this, because of race conditions at agent closing time
332 lock (queue) 332 //Queue<OSD> queue = TryGetQueue(agentID);
333 {
334 if (queue.Count > 0)
335 return true;
336 else
337 return false;
338 }
339 333
334 Queue<OSD> queue = GetQueue(agentID);
335 if (queue != null)
336 lock (queue)
337 {
338 if (queue.Count > 0)
339 return true;
340 else
341 return false;
342 }
343 return false;
340 } 344 }
341 345
342 public Hashtable GetEvents(UUID pAgentId, string request) 346 public Hashtable GetEvents(UUID pAgentId, string request)
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
index 4f2b6ec..0140faa 100644
--- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
@@ -1319,17 +1319,17 @@ namespace OpenSim.Region.Framework.Scenes
1319 return m_commsProvider.GridService.RequestNamedRegions(name, maxNumber); 1319 return m_commsProvider.GridService.RequestNamedRegions(name, maxNumber);
1320 } 1320 }
1321 1321
1322// private void Dump(string msg, List<ulong> handles) 1322 //private void Dump(string msg, List<ulong> handles)
1323// { 1323 //{
1324// m_log.Info"-------------- HANDLE DUMP ({0}) ---------", msg); 1324 // m_log.InfoFormat("-------------- HANDLE DUMP ({0}) ---------", msg);
1325// foreach (ulong handle in handles) 1325 // foreach (ulong handle in handles)
1326// { 1326 // {
1327// uint x, y; 1327 // uint x, y;
1328// Utils.LongToUInts(handle, out x, out y); 1328 // Utils.LongToUInts(handle, out x, out y);
1329// x = x / Constants.RegionSize; 1329 // x = x / Constants.RegionSize;
1330// y = y / Constants.RegionSize; 1330 // y = y / Constants.RegionSize;
1331// m_log.Info("({0}, {1})", x, y); 1331 // m_log.InfoFormat("({0}, {1})", x, y);
1332// } 1332 // }
1333// } 1333 //}
1334 } 1334 }
1335} 1335}
diff --git a/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs b/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs
index 2244a7e..e41b427 100644
--- a/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Inventory/InventoryServiceConnector.cs
@@ -164,20 +164,20 @@ namespace OpenSim.Services.Connectors
164 public Dictionary<AssetType, InventoryFolderBase> GetSystemFolders(string userID, UUID sessionID) 164 public Dictionary<AssetType, InventoryFolderBase> GetSystemFolders(string userID, UUID sessionID)
165 { 165 {
166 // !!! Not just yet. 166 // !!! Not just yet.
167 try 167 //try
168 { 168 //{
169 List<InventoryFolderBase> folders = SynchronousRestSessionObjectPoster<Guid, List<InventoryFolderBase>>.BeginPostObject( 169 // List<InventoryFolderBase> folders = SynchronousRestSessionObjectPoster<Guid, List<InventoryFolderBase>>.BeginPostObject(
170 "POST", m_ServerURI + "/SystemFolders/", new Guid(userID), sessionID.ToString(), userID.ToString()); 170 // "POST", m_ServerURI + "/SystemFolders/", new Guid(userID), sessionID.ToString(), userID.ToString());
171 Dictionary<AssetType, InventoryFolderBase> dFolders = new Dictionary<AssetType, InventoryFolderBase>(); 171 // Dictionary<AssetType, InventoryFolderBase> dFolders = new Dictionary<AssetType, InventoryFolderBase>();
172 foreach (InventoryFolderBase f in folders) 172 // foreach (InventoryFolderBase f in folders)
173 dFolders[(AssetType)f.Type] = f; 173 // dFolders[(AssetType)f.Type] = f;
174 return dFolders; 174 // return dFolders;
175 } 175 //}
176 catch (Exception e) 176 //catch (Exception e)
177 { 177 //{
178 m_log.ErrorFormat("[INVENTORY CONNECTOR]: GetSystemFolders operation failed, {0} {1}", 178 // m_log.ErrorFormat("[INVENTORY CONNECTOR]: GetSystemFolders operation failed, {0} {1}",
179 e.Source, e.Message); 179 // e.Source, e.Message);
180 } 180 //}
181 181
182 return new Dictionary<AssetType, InventoryFolderBase>(); 182 return new Dictionary<AssetType, InventoryFolderBase>();
183 } 183 }