Merge branch 'master' into httptests

This commit is contained in:
UbitUmarov
2017-05-25 10:23:52 +01:00
21 changed files with 124 additions and 88 deletions

View File

@@ -88,8 +88,8 @@ namespace OpenSim.Region.ClientStack.Linden
private Dictionary<UUID, string> m_capsDict = new Dictionary<UUID, string>();
private static Thread[] m_workerThreads = null;
private static int m_NumberScenes = 0;
private static OpenMetaverse.BlockingQueue<aPollRequest> m_queue =
new OpenMetaverse.BlockingQueue<aPollRequest>();
private static OpenSim.Framework.BlockingQueue<aPollRequest> m_queue =
new OpenSim.Framework.BlockingQueue<aPollRequest>();
private Dictionary<UUID, PollServiceMeshEventArgs> m_pollservices = new Dictionary<UUID, PollServiceMeshEventArgs>();
@@ -170,7 +170,7 @@ namespace OpenSim.Region.ClientStack.Linden
m_workerThreads[i] = WorkManager.StartThread(DoMeshRequests,
String.Format("GetMeshWorker{0}", i),
ThreadPriority.Normal,
false,
true,
false,
null,
int.MaxValue);
@@ -203,9 +203,12 @@ namespace OpenSim.Region.ClientStack.Linden
{
while(true)
{
aPollRequest poolreq = m_queue.Dequeue();
aPollRequest poolreq = m_queue.Dequeue(1000);
if(m_NumberScenes <= 0)
return;
Watchdog.UpdateThread();
poolreq.thepoll.Process(poolreq);
if(poolreq.reqID != UUID.Zero)
poolreq.thepoll.Process(poolreq);
}
}

View File

@@ -77,8 +77,8 @@ namespace OpenSim.Region.ClientStack.Linden
private Dictionary<UUID, string> m_capsDict = new Dictionary<UUID, string>();
private static Thread[] m_workerThreads = null;
private static int m_NumberScenes = 0;
private static OpenMetaverse.BlockingQueue<aPollRequest> m_queue =
new OpenMetaverse.BlockingQueue<aPollRequest>();
private static OpenSim.Framework.BlockingQueue<aPollRequest> m_queue =
new OpenSim.Framework.BlockingQueue<aPollRequest>();
private Dictionary<UUID,PollServiceTextureEventArgs> m_pollservices = new Dictionary<UUID,PollServiceTextureEventArgs>();
@@ -139,7 +139,7 @@ namespace OpenSim.Region.ClientStack.Linden
m_workerThreads[i] = WorkManager.StartThread(DoTextureRequests,
String.Format("GetTextureWorker{0}", i),
ThreadPriority.Normal,
false,
true,
false,
null,
int.MaxValue);
@@ -274,7 +274,7 @@ namespace OpenSim.Region.ClientStack.Linden
{
if (responses.Count > 0)
{
if (m_queue.Count >= 4)
if (m_queue.Count() >= 4)
{
// Never allow more than 4 fetches to wait
reqinfo.send503 = true;
@@ -445,9 +445,12 @@ namespace OpenSim.Region.ClientStack.Linden
{
while (true)
{
aPollRequest poolreq = m_queue.Dequeue();
aPollRequest poolreq = m_queue.Dequeue(2000);
if(m_NumberScenes <= 0)
return;
Watchdog.UpdateThread();
poolreq.thepoll.Process(poolreq);
if(poolreq.reqID != UUID.Zero)
poolreq.thepoll.Process(poolreq);
}
}

View File

@@ -206,7 +206,7 @@ namespace OpenSim.Region.ClientStack.Linden
m_workerThreads[i] = WorkManager.StartThread(DoInventoryRequests,
String.Format("InventoryWorkerThread{0}", i),
ThreadPriority.Normal,
false,
true,
true,
null,
int.MaxValue);