* Make inventory operations sync rather than async. This is to alleviate race conditions such as that in mantis #190

* Make inventory messages more verbose.  Hopefully they aren't now too verbose
* This may resolve some grid instability but it's likely there's much more out there.
This commit is contained in:
Justin Clarke Casey
2007-12-15 19:42:23 +00:00
parent e3dd15bef0
commit c63369017f
4 changed files with 53 additions and 39 deletions

View File

@@ -117,45 +117,26 @@ namespace OpenSim.Region.Communications.OGS1
public void AddNewInventoryFolder(LLUUID userID, InventoryFolderBase folder)
{
try
{
RestObjectPoster.BeginPostObject<InventoryFolderBase>(_inventoryServerUrl + "/NewFolder/", folder);
}
catch (Exception)
{
}
SynchronousRestObjectPoster.BeginPostObject<InventoryFolderBase, bool>(
"POST", _inventoryServerUrl + "/NewFolder/", folder);
}
public void MoveInventoryFolder(LLUUID userID, InventoryFolderBase folder)
{
try
{
RestObjectPoster.BeginPostObject<InventoryFolderBase>(_inventoryServerUrl + "/MoveFolder/", folder);
}
catch (Exception)
{
}
SynchronousRestObjectPoster.BeginPostObject<InventoryFolderBase, bool>(
"POST", _inventoryServerUrl + "/MoveFolder/", folder);
}
public void AddNewInventoryItem(LLUUID userID, InventoryItemBase item)
{
try
{
RestObjectPoster.BeginPostObject<InventoryItemBase>(_inventoryServerUrl + "/NewItem/", item);
}
catch (Exception)
{
}
SynchronousRestObjectPoster.BeginPostObject<InventoryItemBase, bool>(
"POST", _inventoryServerUrl + "/NewItem/", item);
}
public void DeleteInventoryItem(LLUUID userID, InventoryItemBase item)
{
try
{
RestObjectPoster.BeginPostObject<InventoryItemBase>(_inventoryServerUrl + "/DeleteItem/", item);
}
catch (Exception)
{
}
SynchronousRestObjectPoster.BeginPostObject<InventoryItemBase, bool>(
"POST", _inventoryServerUrl + "/DeleteItem/", item);
}
public void CreateNewUserInventory(LLUUID user)

View File

@@ -238,7 +238,10 @@ namespace OpenSim.Region.Environment.Scenes
public void MoveInventoryItem(IClientAPI remoteClient,LLUUID folderID, LLUUID itemID, int length, string newName)
{
MainLog.Instance.Verbose("INVENTORY", "Moving item for " + remoteClient.AgentId.ToStringHyphenated());
MainLog.Instance.Verbose(
"INVENTORY",
"Moving item for " + remoteClient.AgentId.ToStringHyphenated());
CachedUserInfo userInfo = CommsManager.UserProfileCacheService.GetUserDetails(remoteClient.AgentId);
if (userInfo == null)
{