mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 20:05: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:
@@ -355,10 +355,16 @@ namespace OpenSim.Region.Environment.Scenes
|
||||
public void TriggerOnBackup(IRegionDataStore dstore)
|
||||
{
|
||||
handlerBackup = OnBackup;
|
||||
if (handlerBackup != null)
|
||||
Delegate[] items = OnBackup.GetInvocationList();
|
||||
foreach (OnBackupDelegate del in items)
|
||||
{
|
||||
handlerBackup(dstore);
|
||||
if (del != null)
|
||||
del(dstore);
|
||||
}
|
||||
//if (handlerBackup != null)
|
||||
//{
|
||||
// handlerBackup(dstore);
|
||||
//}
|
||||
}
|
||||
|
||||
public void TriggerParcelPrimCountUpdate()
|
||||
|
||||
Reference in New Issue
Block a user