aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDiva Canto2009-08-11 16:47:36 -0700
committerDiva Canto2009-08-11 16:47:36 -0700
commit10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29 (patch)
tree9aedb7a830e3bf2c3638e010c21712851cc279b1
parentSome more hammering on the head of the obsolete rest inventory handlers, just... (diff)
downloadopensim-SC-10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29.zip
opensim-SC-10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29.tar.gz
opensim-SC-10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29.tar.bz2
opensim-SC-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.
-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 }