diff options
author | Teravus Ovares | 2008-05-21 21:22:56 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-05-21 21:22:56 +0000 |
commit | 5af108a029e5382f6a2f6d4d10b3d4de3a8f5245 (patch) | |
tree | 171813c4182af2849052281c1e941dec434e6815 /OpenSim/Region/Environment/Scenes/InnerScene.cs | |
parent | implement in memory appearance cache for sqlite. This (diff) | |
download | opensim-SC_OLD-5af108a029e5382f6a2f6d4d10b3d4de3a8f5245.zip opensim-SC_OLD-5af108a029e5382f6a2f6d4d10b3d4de3a8f5245.tar.gz opensim-SC_OLD-5af108a029e5382f6a2f6d4d10b3d4de3a8f5245.tar.bz2 opensim-SC_OLD-5af108a029e5382f6a2f6d4d10b3d4de3a8f5245.tar.xz |
* 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.
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index 62055d8..695cb88 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -1399,7 +1399,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1399 | { | 1399 | { |
1400 | if (m_parentScene.ExternalChecks.ExternalChecksCanDuplicateObject(originPrim.Children.Count, originPrim.UUID, AgentID, originPrim.AbsolutePosition)) | 1400 | if (m_parentScene.ExternalChecks.ExternalChecksCanDuplicateObject(originPrim.Children.Count, originPrim.UUID, AgentID, originPrim.AbsolutePosition)) |
1401 | { | 1401 | { |
1402 | SceneObjectGroup copy = originPrim.Copy(AgentID, GroupID); | 1402 | SceneObjectGroup copy = originPrim.Copy(AgentID, GroupID, true); |
1403 | copy.AbsolutePosition = copy.AbsolutePosition + offset; | 1403 | copy.AbsolutePosition = copy.AbsolutePosition + offset; |
1404 | copy.ResetIDs(); | 1404 | copy.ResetIDs(); |
1405 | 1405 | ||