diff options
author | Richard Linden <none@none> | 2013-05-20 00:01:57 -0700 |
---|---|---|
committer | Richard Linden <none@none> | 2013-05-20 00:01:57 -0700 |
commit | f850ae03b399a5cc7aa32f82b8ed996518a86a2a (patch) | |
tree | 234c52cd26a804b35973f273b80d03a356f3142b /indra/llcommon/llqueuedthread.cpp | |
parent | 116d37b4d5883e6020f24ee9c660e9e4511a1574 (diff) |
SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
fixed copy construction of Recorders, eliminated most zero-length frames
fixed reset behavior of periodic recordings and extendable recordings to clear entire
history
removed busy-loop recording of stats from worker threads...stats reported only when work is done
Diffstat (limited to 'indra/llcommon/llqueuedthread.cpp')
-rw-r--r-- | indra/llcommon/llqueuedthread.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/indra/llcommon/llqueuedthread.cpp b/indra/llcommon/llqueuedthread.cpp index 956642e97a..4339f203db 100644 --- a/indra/llcommon/llqueuedthread.cpp +++ b/indra/llcommon/llqueuedthread.cpp @@ -404,6 +404,7 @@ S32 LLQueuedThread::processNextRequest() QueuedRequest *req; // Get next request from pool lockData(); + while(1) { req = NULL; @@ -468,10 +469,11 @@ S32 LLQueuedThread::processNextRequest() ms_sleep(1); // sleep the thread a little } } + + LLTrace::get_thread_recorder()->pushToMaster(); } S32 pending = getPending(); - return pending; } @@ -500,6 +502,7 @@ void LLQueuedThread::run() if (isQuitting()) { + LLTrace::get_thread_recorder()->pushToMaster(); endThread(); break; } @@ -508,11 +511,9 @@ void LLQueuedThread::run() threadedUpdate(); - int res = processNextRequest(); - - LLTrace::get_thread_recorder()->pushToMaster(); + int pending_work = processNextRequest(); - if (res == 0) + if (pending_work == 0) { mIdleThread = TRUE; ms_sleep(1); |