Merge branch 'master' of ssh://3dhosting.de/var/git/careminster

avinationmerge
Kitto Flora 2010-04-05 23:25:46 -04:00
commit a97a887ea4
3 changed files with 39 additions and 24 deletions

View File

@ -29,7 +29,7 @@ namespace OpenSim
{ {
public class VersionInfo public class VersionInfo
{ {
private const string VERSION_NUMBER = "0.6.8CM"; private const string VERSION_NUMBER = "0.6.9CM";
private const Flavour VERSION_FLAVOUR = Flavour.Dev; private const Flavour VERSION_FLAVOUR = Flavour.Dev;
public enum Flavour public enum Flavour

View File

@ -0,0 +1,11 @@
///////////////////////////////////////////////////////////////////
//
// (c) Careminster LImited, Melanie Thielker and the Meta7 Team
//
// This file is not open source. All rights reserved
//
public interface ISnmpModule
{
void Alert(string message);
void Trap(string message);
}

View File

@ -106,9 +106,9 @@ namespace OpenSim.Region.Framework.Scenes
private bool m_hasGroupChanged = false; private bool m_hasGroupChanged = false;
private long timeFirstChanged = 0; private long timeFirstChanged = 0;
private long timeLastChanged = 0; private long timeLastChanged = 0;
long m_maxPersistTime = 0; private long m_maxPersistTime = 0;
long m_minPersistTime = 0; private long m_minPersistTime = 0;
Random m_rand; private Random m_rand;
private System.Threading.ReaderWriterLockSlim m_partsLock = new System.Threading.ReaderWriterLockSlim(); private System.Threading.ReaderWriterLockSlim m_partsLock = new System.Threading.ReaderWriterLockSlim();
@ -186,27 +186,31 @@ namespace OpenSim.Region.Framework.Scenes
timeLastChanged = DateTime.Now.Ticks; timeLastChanged = DateTime.Now.Ticks;
if (!m_hasGroupChanged) if (!m_hasGroupChanged)
timeFirstChanged = DateTime.Now.Ticks; timeFirstChanged = DateTime.Now.Ticks;
if (m_rootPart != null && m_rootPart.UUID != null && m_scene != null)
{
if (m_rand == null) if (m_rand == null)
{ {
byte[] val = new byte[16]; byte[] val = new byte[16];
m_rootPart.UUID.ToBytes(val, 0); m_rootPart.UUID.ToBytes(val, 0);
m_rand = new Random(BitConverter.ToInt32(val, 0)); m_rand = new Random(BitConverter.ToInt32(val, 0));
} }
if (Scene.GetRootAgentCount() == 0)
if (m_scene.GetRootAgentCount() == 0)
{ {
//If the region is empty, this change has been made by an automated process //If the region is empty, this change has been made by an automated process
//and thus we delay the persist time by a random amount between 1.5 and 2.5. //and thus we delay the persist time by a random amount between 1.5 and 2.5.
float factor = 1.5f + (float)(m_rand.NextDouble()); float factor = 1.5f + (float)(m_rand.NextDouble());
m_maxPersistTime = (long)((float)Scene.m_persistAfter * factor); m_maxPersistTime = (long)((float)m_scene.m_persistAfter * factor);
m_minPersistTime = (long)((float)Scene.m_dontPersistBefore * factor); m_minPersistTime = (long)((float)m_scene.m_dontPersistBefore * factor);
} }
else else
{ {
//If the region is not empty, we want to obey the minimum and maximum persist times //If the region is not empty, we want to obey the minimum and maximum persist times
//but add a random factor so we stagger the object persistance a little //but add a random factor so we stagger the object persistance a little
m_maxPersistTime = (long)((float)Scene.m_persistAfter * (1.0d - (m_rand.NextDouble() / 5.0d))); //Multiply by 1.0-1.5 m_maxPersistTime = (long)((float)m_scene.m_persistAfter * (1.0d - (m_rand.NextDouble() / 5.0d))); //Multiply by 1.0-1.5
m_minPersistTime = (long)((float)Scene.m_dontPersistBefore * (1.0d + (m_rand.NextDouble() / 2.0d))); //Multiply by 0.8-1.0 m_minPersistTime = (long)((float)m_scene.m_dontPersistBefore * (1.0d + (m_rand.NextDouble() / 2.0d))); //Multiply by 0.8-1.0
}
} }
} }
m_hasGroupChanged = value; m_hasGroupChanged = value;