add osGetSimulatorMemoryKB(). This allows work around the fact osGetSimulatorMemory() reports at most 2GB. This one limit is now 2TB, should ne enought for a while
parent
b51b4d4171
commit
3d6553afee
|
@ -3591,6 +3591,22 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
return (int)pws;
|
return (int)pws;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int osGetSimulatorMemoryKB()
|
||||||
|
{
|
||||||
|
CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory");
|
||||||
|
|
||||||
|
long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
|
||||||
|
|
||||||
|
if((pws & 0x3FFL) != 0)
|
||||||
|
pws += 0x400L;
|
||||||
|
pws >>= 10;
|
||||||
|
|
||||||
|
if (pws > Int32.MaxValue)
|
||||||
|
return Int32.MaxValue;
|
||||||
|
|
||||||
|
return (int)pws;
|
||||||
|
}
|
||||||
|
|
||||||
public void osSetSpeed(string UUID, LSL_Float SpeedModifier)
|
public void osSetSpeed(string UUID, LSL_Float SpeedModifier)
|
||||||
{
|
{
|
||||||
CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed");
|
CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed");
|
||||||
|
|
|
@ -379,6 +379,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
|
||||||
vector osGetRegionSize();
|
vector osGetRegionSize();
|
||||||
|
|
||||||
int osGetSimulatorMemory();
|
int osGetSimulatorMemory();
|
||||||
|
int osGetSimulatorMemoryKB();
|
||||||
void osKickAvatar(string FirstName,string SurName,string alert);
|
void osKickAvatar(string FirstName,string SurName,string alert);
|
||||||
void osSetSpeed(string UUID, LSL_Float SpeedModifier);
|
void osSetSpeed(string UUID, LSL_Float SpeedModifier);
|
||||||
LSL_Float osGetHealth(string avatar);
|
LSL_Float osGetHealth(string avatar);
|
||||||
|
|
|
@ -958,7 +958,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns the amount of memory in use by the Simulator Daemon.
|
/// Returns the amount of memory in use by the Simulator Daemon.
|
||||||
/// Amount in bytes - if >= 4GB, returns 4GB. (LSL is not 64-bit aware)
|
/// Amount in bytes - if >= 2GB, returns 2GB. (LSL is not 64-bit aware)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public LSL_Integer osGetSimulatorMemory()
|
public LSL_Integer osGetSimulatorMemory()
|
||||||
|
@ -966,6 +966,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
||||||
return m_OSSL_Functions.osGetSimulatorMemory();
|
return m_OSSL_Functions.osGetSimulatorMemory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LSL_Integer osGetSimulatorMemoryKB()
|
||||||
|
{
|
||||||
|
return m_OSSL_Functions.osGetSimulatorMemoryKB();
|
||||||
|
}
|
||||||
|
|
||||||
public void osKickAvatar(string FirstName,string SurName,string alert)
|
public void osKickAvatar(string FirstName,string SurName,string alert)
|
||||||
{
|
{
|
||||||
m_OSSL_Functions.osKickAvatar(FirstName, SurName, alert);
|
m_OSSL_Functions.osKickAvatar(FirstName, SurName, alert);
|
||||||
|
|
Loading…
Reference in New Issue