make BlockingQueue.Dequeue timeouts more coerent (just less than watchdog timeout)

0.9.0-post-fixes
UbitUmarov 2017-05-26 00:47:08 +01:00
parent 8d8236cfb2
commit 7a82c7c5b2
4 changed files with 9 additions and 10 deletions

View File

@ -204,10 +204,10 @@ namespace OpenSim.Region.ClientStack.Linden
{ {
while(true) while(true)
{ {
aPollRequest poolreq = m_queue.Dequeue(1000); aPollRequest poolreq = m_queue.Dequeue(4500);
Watchdog.UpdateThread();
if(m_NumberScenes <= 0) if(m_NumberScenes <= 0)
return; return;
Watchdog.UpdateThread();
if(poolreq.reqID != UUID.Zero) if(poolreq.reqID != UUID.Zero)
poolreq.thepoll.Process(poolreq); poolreq.thepoll.Process(poolreq);
} }

View File

@ -415,10 +415,10 @@ namespace OpenSim.Region.ClientStack.Linden
{ {
while (true) while (true)
{ {
aPollRequest poolreq = m_queue.Dequeue(2000); aPollRequest poolreq = m_queue.Dequeue(4500);
Watchdog.UpdateThread();
if(m_NumberScenes <= 0) if(m_NumberScenes <= 0)
return; return;
Watchdog.UpdateThread();
if(poolreq.reqID != UUID.Zero) if(poolreq.reqID != UUID.Zero)
poolreq.thepoll.Process(poolreq); poolreq.thepoll.Process(poolreq);
} }

View File

@ -443,10 +443,9 @@ namespace OpenSim.Region.ClientStack.Linden
{ {
while (true) while (true)
{ {
aPollRequest poolreq = m_queue.Dequeue(4500);
Watchdog.UpdateThread(); Watchdog.UpdateThread();
aPollRequest poolreq = m_queue.Dequeue(5000);
if (poolreq != null && poolreq.thepoll != null) if (poolreq != null && poolreq.thepoll != null)
{ {
try try

View File

@ -716,12 +716,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
{ {
while (true) while (true)
{ {
Watchdog.UpdateThread();
av = null; av = null;
st = null; st = null;
st = requests.Dequeue(4900); // timeout to make watchdog happy st = requests.Dequeue(4500);
Watchdog.UpdateThread();
if (st == null || st.agentID == UUID.Zero) if (st == null || st.agentID == UUID.Zero)
continue; continue;
@ -1152,10 +1151,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
{ {
while(!m_mapBlockRequestEvent.WaitOne(4900)) while(!m_mapBlockRequestEvent.WaitOne(4900))
{ {
Watchdog.UpdateThread();
if(m_scene == null) if(m_scene == null)
return; return;
} }
Watchdog.UpdateThread();
lock (m_mapBlockRequestEvent) lock (m_mapBlockRequestEvent)
{ {
int total = 0; int total = 0;