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;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
CheckThreatLevel(ThreatLevel.Moderate, "osSetSpeed");
|
||||
|
|
|
@ -379,6 +379,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
|
|||
vector osGetRegionSize();
|
||||
|
||||
int osGetSimulatorMemory();
|
||||
int osGetSimulatorMemoryKB();
|
||||
void osKickAvatar(string FirstName,string SurName,string alert);
|
||||
void osSetSpeed(string UUID, LSL_Float SpeedModifier);
|
||||
LSL_Float osGetHealth(string avatar);
|
||||
|
|
|
@ -958,7 +958,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
|||
|
||||
/// <summary>
|
||||
/// 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>
|
||||
/// <returns></returns>
|
||||
public LSL_Integer osGetSimulatorMemory()
|
||||
|
@ -966,6 +966,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
|
|||
return m_OSSL_Functions.osGetSimulatorMemory();
|
||||
}
|
||||
|
||||
public LSL_Integer osGetSimulatorMemoryKB()
|
||||
{
|
||||
return m_OSSL_Functions.osGetSimulatorMemoryKB();
|
||||
}
|
||||
|
||||
public void osKickAvatar(string FirstName,string SurName,string alert)
|
||||
{
|
||||
m_OSSL_Functions.osKickAvatar(FirstName, SurName, alert);
|
||||
|
|
Loading…
Reference in New Issue