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)
{
aPollRequest poolreq = m_queue.Dequeue(1000);
aPollRequest poolreq = m_queue.Dequeue(4500);
Watchdog.UpdateThread();
if(m_NumberScenes <= 0)
return;
Watchdog.UpdateThread();
if(poolreq.reqID != UUID.Zero)
poolreq.thepoll.Process(poolreq);
}

View File

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

View File

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

View File

@ -716,12 +716,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
{
while (true)
{
Watchdog.UpdateThread();
av = 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)
continue;
@ -1152,10 +1151,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
{
while(!m_mapBlockRequestEvent.WaitOne(4900))
{
Watchdog.UpdateThread();
if(m_scene == null)
return;
}
Watchdog.UpdateThread();
lock (m_mapBlockRequestEvent)
{
int total = 0;