diff options
author | Mic Bowman | 2012-05-10 09:08:40 -0700 |
---|---|---|
committer | Mic Bowman | 2012-05-10 09:08:40 -0700 |
commit | de44734fe9a0b31cd8cb78c0f58e61a35fe2a259 (patch) | |
tree | 6b6b50a0a4cdf493ec4c5b46ceaef8c01fe64dba /OpenSim/Region/Application/OpenSim.cs | |
parent | Where necessary, rename OpenSim/Services/Connectors/*.cs files to reflect the... (diff) | |
download | opensim-SC_OLD-de44734fe9a0b31cd8cb78c0f58e61a35fe2a259.zip opensim-SC_OLD-de44734fe9a0b31cd8cb78c0f58e61a35fe2a259.tar.gz opensim-SC_OLD-de44734fe9a0b31cd8cb78c0f58e61a35fe2a259.tar.bz2 opensim-SC_OLD-de44734fe9a0b31cd8cb78c0f58e61a35fe2a259.tar.xz |
Saving estate state is really slow (relatively) and it gets
completely rewritten every time a region starts up. This
makes the data write only when the data was not already
read from the database.
There is a still a major race condition whenever two regions
share the same estate data, but at least it won't be triggered
on startup.
Diffstat (limited to 'OpenSim/Region/Application/OpenSim.cs')
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 4ec64ee..6796f2b 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -618,10 +618,11 @@ namespace OpenSim | |||
618 | return; | 618 | return; |
619 | } | 619 | } |
620 | 620 | ||
621 | PopulateRegionEstateInfo(regInfo); | 621 | bool changed = PopulateRegionEstateInfo(regInfo); |
622 | IScene scene; | 622 | IScene scene; |
623 | CreateRegion(regInfo, true, out scene); | 623 | CreateRegion(regInfo, true, out scene); |
624 | regInfo.EstateSettings.Save(); | 624 | if (changed) |
625 | regInfo.EstateSettings.Save(); | ||
625 | } | 626 | } |
626 | 627 | ||
627 | /// <summary> | 628 | /// <summary> |