diff options
author | Diva Canto | 2009-08-11 16:47:36 -0700 |
---|---|---|
committer | Diva Canto | 2009-08-11 16:47:36 -0700 |
commit | 10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29 (patch) | |
tree | 9aedb7a830e3bf2c3638e010c21712851cc279b1 | |
parent | Some more hammering on the head of the obsolete rest inventory handlers, just... (diff) | |
download | opensim-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 '')
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 | } |