Some more fixes on strange behaviors of Unknown User, esp. related to large messy inventories and esp. related to kokua

cpu-performance
Diva Canto 2013-07-06 18:02:17 -07:00
parent 1dd3a0bc57
commit 391633c072
2 changed files with 15 additions and 15 deletions

View File

@ -514,9 +514,8 @@ namespace OpenSim.Region.CoreModules.Framework.UserManagement
return; return;
} }
//try update unknown users //try update unknown users, but don't update anyone else
//and creator's home URL's if (oldUser.FirstName == "Unknown" && !creatorData.Contains("Unknown"))
if ((oldUser.FirstName == "Unknown" && !creatorData.Contains("Unknown")) || (oldUser.HomeURL != null && !creatorData.StartsWith(oldUser.HomeURL)))
{ {
lock (m_UserCache) lock (m_UserCache)
m_UserCache.Remove(id); m_UserCache.Remove(id);

View File

@ -195,19 +195,20 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
{ {
InventoryCollection invCol = m_RemoteConnector.GetFolderContent(userID, folderID); InventoryCollection invCol = m_RemoteConnector.GetFolderContent(userID, folderID);
if (invCol != null && UserManager != null) // Commenting this for now, because it's causing more grief than good
{ //if (invCol != null && UserManager != null)
// Protect ourselves against the caller subsequently modifying the items list //{
List<InventoryItemBase> items = new List<InventoryItemBase>(invCol.Items); // // Protect ourselves against the caller subsequently modifying the items list
// List<InventoryItemBase> items = new List<InventoryItemBase>(invCol.Items);
if (items != null && items.Count > 0) // if (items != null && items.Count > 0)
//Util.FireAndForget(delegate // //Util.FireAndForget(delegate
//{ // //{
foreach (InventoryItemBase item in items) // foreach (InventoryItemBase item in items)
if (!string.IsNullOrEmpty(item.CreatorData)) // if (!string.IsNullOrEmpty(item.CreatorData))
UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData); // UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
//}); // //});
} //}
return invCol; return invCol;
} }