Run slow operations in a separate thread, instead of using FireAndForget (which has a 1-minute timeout)

Resolves http://opensimulator.org/mantis/view.php?id=6945
This commit is contained in:
Oren Hurvitz
2014-01-29 16:14:27 +02:00
parent 84d7227dfd
commit e131e73652
7 changed files with 35 additions and 12 deletions

View File

@@ -193,12 +193,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
// Protect ourselves against the caller subsequently modifying the items list
List<InventoryItemBase> items = new List<InventoryItemBase>(invCol.Items);
Util.FireAndForget(delegate
Util.RunThreadNoTimeout(delegate
{
foreach (InventoryItemBase item in items)
if (!string.IsNullOrEmpty(item.CreatorData))
UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
});
}, "GetFolderContent", null);
}
return invCol;