mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 18:25:33 +08:00
* This update causes the backup process to run in a separate thread.
* Concurrency issues are resolved because each object makes a memory-only copy of itself and backs up the copy. * Because of the way this is done, the latest at the time of the backup gets backed up (no functionality change) * You can move *thousands of objects at a time* and the sim doesn't freeze and wait for the backup to complete. * This can be enhanced more by dedicating the thread as opposed to starting it when the backup process starts.
This commit is contained in:
@@ -99,7 +99,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
}
|
||||
|
||||
HasInventoryChanged = true;
|
||||
|
||||
ParentGroup.HasGroupChanged = true;
|
||||
IList<TaskInventoryItem> items = new List<TaskInventoryItem>(TaskInventory.Values);
|
||||
TaskInventory.Clear();
|
||||
|
||||
@@ -121,7 +121,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
}
|
||||
|
||||
HasInventoryChanged = true;
|
||||
|
||||
ParentGroup.HasGroupChanged = true;
|
||||
IList<TaskInventoryItem> items = new List<TaskInventoryItem>(TaskInventory.Values);
|
||||
foreach (TaskInventoryItem item in items)
|
||||
{
|
||||
@@ -304,6 +304,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
m_inventorySerial++;
|
||||
//m_inventorySerial += 2;
|
||||
HasInventoryChanged = true;
|
||||
ParentGroup.HasGroupChanged = true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -373,6 +374,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
TriggerScriptChangedEvent(Changed.INVENTORY);
|
||||
|
||||
HasInventoryChanged = true;
|
||||
ParentGroup.HasGroupChanged = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -411,6 +413,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
TriggerScriptChangedEvent(Changed.INVENTORY);
|
||||
|
||||
HasInventoryChanged = true;
|
||||
ParentGroup.HasGroupChanged = true;
|
||||
|
||||
int scriptcount = 0;
|
||||
lock (m_taskInventory)
|
||||
|
||||
Reference in New Issue
Block a user