diff --git a/indra/llcommon/llqueuedthread.cpp b/indra/llcommon/llqueuedthread.cpp index 60156d7eb70f53f744e0d7c43050fdf985e6cdc1..29c1d82d6611822441bdfe2330a60de987dcabb3 100644 --- a/indra/llcommon/llqueuedthread.cpp +++ b/indra/llcommon/llqueuedthread.cpp @@ -464,7 +464,7 @@ S32 LLQueuedThread::processNextRequest() unlockData(); if (mThreaded && start_priority < PRIORITY_NORMAL) { - ms_sleep(1); // sleep the thread a little + yield(); } } @@ -511,7 +511,7 @@ void LLQueuedThread::run() if (pending_work == 0) { mIdleThread = true; - ms_sleep(1); + yield(); } //LLThread::yield(); // thread should yield after each request } diff --git a/indra/llcommon/llqueuedthread.h b/indra/llcommon/llqueuedthread.h index 7b76b90dc21081bdd993e4e273e1fa0b304fb83b..4ec8928f8b48c5344e7ff9c3de55c868925d1370 100644 --- a/indra/llcommon/llqueuedthread.h +++ b/indra/llcommon/llqueuedthread.h @@ -204,7 +204,7 @@ class LL_COMMON_API LLQueuedThread : public LLThread request_queue_t mRequestQueue; std::atomic<S32> mRequestQueueSize; - enum { REQUEST_HASH_SIZE = 512 }; // must be power of 2 + enum { REQUEST_HASH_SIZE = 1024 }; // must be power of 2 typedef LLSimpleHash<handle_t, REQUEST_HASH_SIZE> request_hash_t; request_hash_t mRequestHash;