From 9a11a2946f4dec334ce1ac449b355ba16eaae23a Mon Sep 17 00:00:00 2001
From: Monty Brandenberg <monty@lindenlab.com>
Date: Tue, 5 Jun 2012 12:06:42 -0400
Subject: [PATCH] Faster spin in worker thread when doing I/O and a priority
 bump needed when fixing priorities.

---
 indra/llcorehttp/_httpservice.cpp | 6 +++++-
 indra/newview/lltexturefetch.cpp  | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/indra/llcorehttp/_httpservice.cpp b/indra/llcorehttp/_httpservice.cpp
index 337493ca12b..b038bdb7209 100644
--- a/indra/llcorehttp/_httpservice.cpp
+++ b/indra/llcorehttp/_httpservice.cpp
@@ -38,6 +38,10 @@
 #include "lltimer.h"
 
 
+// Tuning parameters
+static const int LOOP_SLEEP_NORMAL_MS = 10;		// Normal per-loop sleep in milliseconds
+
+
 namespace LLCore
 {
 
@@ -198,7 +202,7 @@ void HttpService::threadRun(LLCoreInt::HttpThread * thread)
 		// Determine whether to spin, sleep briefly or sleep for next request
 		if (REQUEST_SLEEP != loop)
 		{
-			ms_sleep(50);
+			ms_sleep(LOOP_SLEEP_NORMAL_MS);
 		}
 	}
 
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 08f3ca1583d..34fb21798fb 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -736,7 +736,7 @@ void LLTextureFetchWorker::setDesiredDiscard(S32 discard, S32 size)
 	if ((prioritize && mState == INIT) || mState == DONE)
 	{
 		mState = INIT;
-		U32 work_priority = mWorkPriority | LLWorkerThread::PRIORITY_LOW;
+		U32 work_priority = mWorkPriority | LLWorkerThread::PRIORITY_HIGH;
 		setPriority(work_priority);
 	}
 }
-- 
GitLab