aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authordiva2008-12-15 20:45:40 +0000
committerdiva2008-12-15 20:45:40 +0000
commit8fffdac7fa724c651935acb46725bc101cf8dfee (patch)
tree21f44f4f921d00a0b1b9a65f3e1e53b5f1a396b3
parent* minor: method documentation and miscellaneous tidy (diff)
downloadopensim-SC_OLD-8fffdac7fa724c651935acb46725bc101cf8dfee.zip
opensim-SC_OLD-8fffdac7fa724c651935acb46725bc101cf8dfee.tar.gz
opensim-SC_OLD-8fffdac7fa724c651935acb46725bc101cf8dfee.tar.bz2
opensim-SC_OLD-8fffdac7fa724c651935acb46725bc101cf8dfee.tar.xz
Attempt at restoring inventory access after TPs/crossings. RemoveClient in Scene was being too
aggressive at nixing the user out of the cache. We're now relying on NeedSceneCacheClear to decide whether to nix it or not. All other mods in other files are for better debugging messages.
-rw-r--r--OpenSim/Framework/Communications/Cache/CachedUserInfo.cs1
-rw-r--r--OpenSim/Region/Environment/Modules/Avatar/Inventory/Transfer/InventoryTransferModule.cs9
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.Inventory.cs6
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs6
4 files changed, 20 insertions, 2 deletions
diff --git a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
index a1b658f..99a982b 100644
--- a/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
+++ b/OpenSim/Framework/Communications/Cache/CachedUserInfo.cs
@@ -194,6 +194,7 @@ namespace OpenSim.Framework.Communications.Cache
194 /// </summary> 194 /// </summary>
195 public void DropInventory() 195 public void DropInventory()
196 { 196 {
197 m_log.Debug("[INVENTORY CACHE]: DropInventory called");
197 // Make sure there aren't pending requests around when we do this 198 // Make sure there aren't pending requests around when we do this
198 // FIXME: There is still a race condition where an inventory operation can be requested (since these aren't being locked). 199 // FIXME: There is still a race condition where an inventory operation can be requested (since these aren't being locked).
199 // Will have to extend locking to exclude this very soon. 200 // Will have to extend locking to exclude this very soon.
diff --git a/OpenSim/Region/Environment/Modules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/Environment/Modules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
index 0e3634c..20ea030 100644
--- a/OpenSim/Region/Environment/Modules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
+++ b/OpenSim/Region/Environment/Modules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
@@ -350,11 +350,18 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Inventory.Transfer
350 // are we even doing here?? 350 // are we even doing here??
351 // 351 //
352 if (s == scene) 352 if (s == scene)
353 {
354 //m_log.Debug("[INVTRANSFERMOD]: s == scene. Returning true in " + scene.RegionInfo.RegionName);
353 return true; 355 return true;
356 }
354 else 357 else
358 {
359 //m_log.Debug("[INVTRANSFERMOD]: s != scene. Returning false in " + scene.RegionInfo.RegionName);
355 return false; 360 return false;
361 }
356 } 362 }
357 } 363 }
364 //m_log.Debug("[INVTRANSFERMOD]: agent not in scene. Returning true in " + scene.RegionInfo.RegionName);
358 return true; 365 return true;
359 } 366 }
360 367
@@ -363,12 +370,14 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Inventory.Transfer
363 // 370 //
364 if (m_AgentRegions[agentID] == scene) 371 if (m_AgentRegions[agentID] == scene)
365 { 372 {
373 //m_log.Debug("[INVTRANSFERMOD]: m_AgentRegions[agentID] == scene. Returning true in " + scene.RegionInfo.RegionName);
366 m_AgentRegions.Remove(agentID); 374 m_AgentRegions.Remove(agentID);
367 return true; 375 return true;
368 } 376 }
369 377
370 // Another region has claimed the agent 378 // Another region has claimed the agent
371 // 379 //
380 //m_log.Debug("[INVTRANSFERMOD]: last resort. Returning false in " + scene.RegionInfo.RegionName);
372 return false; 381 return false;
373 } 382 }
374 383
diff --git a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
index c98c4f3..7c518c4 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.Inventory.cs
@@ -2106,7 +2106,7 @@ namespace OpenSim.Region.Environment.Scenes
2106 string xmlData = Utils.BytesToString(rezAsset.Data); 2106 string xmlData = Utils.BytesToString(rezAsset.Data);
2107 SceneObjectGroup group = new SceneObjectGroup(xmlData, true); 2107 SceneObjectGroup group = new SceneObjectGroup(xmlData, true);
2108 if (!Permissions.CanRezObject( 2108 if (!Permissions.CanRezObject(
2109 group.Children.Count, remoteClient.AgentId, pos) 2109 group.Children.Count, remoteClient.AgentId, pos)
2110 && !attachment) 2110 && !attachment)
2111 { 2111 {
2112 return null; 2112 return null;
@@ -2226,7 +2226,11 @@ namespace OpenSim.Region.Environment.Scenes
2226 } 2226 }
2227 } 2227 }
2228 } 2228 }
2229 else
2230 m_log.WarnFormat("[AGENT INVENTORY]: Root folder not found in {0}", RegionInfo.RegionName);
2229 } 2231 }
2232 else
2233 m_log.WarnFormat("[AGENT INVENTORY]: User profile not found in {0}", RegionInfo.RegionName);
2230 2234
2231 return null; 2235 return null;
2232 } 2236 }
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 873662e..f6d82c4 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -2709,7 +2709,11 @@ namespace OpenSim.Region.Environment.Scenes
2709 m_sceneGraph.removeUserCount(!childagentYN); 2709 m_sceneGraph.removeUserCount(!childagentYN);
2710 RemoveCapsHandler(agentID); 2710 RemoveCapsHandler(agentID);
2711 2711
2712 CommsManager.UserProfileCacheService.RemoveUser(agentID); 2712 if (avatar.Scene.NeedSceneCacheClear(avatar.UUID))
2713 {
2714 m_log.InfoFormat("[SCENE]: User {0} is going to another region, profile cache removed in {1}", avatar.UUID, RegionInfo.RegionName);
2715 CommsManager.UserProfileCacheService.RemoveUser(agentID);
2716 }
2713 2717
2714 if (!avatar.IsChildAgent) 2718 if (!avatar.IsChildAgent)
2715 { 2719 {