be nicer to PIs (actually linux)
parent
3507566692
commit
abf423e361
|
@ -2066,6 +2066,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
while (base.IsRunningOutbound)
|
while (base.IsRunningOutbound)
|
||||||
{
|
{
|
||||||
Scene.ThreadAlive(2);
|
Scene.ThreadAlive(2);
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
m_packetSent = false;
|
m_packetSent = false;
|
||||||
|
@ -2125,11 +2127,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
// If nothing was sent, sleep for the minimum amount of time before a
|
// If nothing was sent, sleep for the minimum amount of time before a
|
||||||
// token bucket could get more tokens
|
// token bucket could get more tokens
|
||||||
|
|
||||||
if (!m_packetSent)
|
if(Scene.GetNumberOfClients() == 0)
|
||||||
Thread.Sleep((int)TickCountResolution);
|
{
|
||||||
|
Thread.Sleep(250); // be friendly to PIs, but how long ??
|
||||||
// .... wrong core code removed
|
}
|
||||||
|
else if (!m_packetSent)
|
||||||
|
// Thread.Sleep((int)TickCountResolution); outch this is bad on linux
|
||||||
|
Thread.Sleep(15); // match the 16ms of windows7, dont ask 16 or win may decide to do 32ms.
|
||||||
|
|
||||||
Watchdog.UpdateThread();
|
Watchdog.UpdateThread();
|
||||||
}
|
}
|
||||||
|
|
|
@ -5409,6 +5409,11 @@ Label_GroupsDone:
|
||||||
m_clientManager.ForEachSync(action);
|
m_clientManager.ForEachSync(action);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetNumberOfClients()
|
||||||
|
{
|
||||||
|
return m_clientManager.Count;
|
||||||
|
}
|
||||||
|
|
||||||
public bool TryGetClient(UUID avatarID, out IClientAPI client)
|
public bool TryGetClient(UUID avatarID, out IClientAPI client)
|
||||||
{
|
{
|
||||||
return m_clientManager.TryGetValue(avatarID, out client);
|
return m_clientManager.TryGetValue(avatarID, out client);
|
||||||
|
|
Loading…
Reference in New Issue