summaryrefslogtreecommitdiff
path: root/indra/llcommon/llthread.cpp
AgeCommit message (Collapse)Author
2014-11-19OPEN-282 - Define LL_THREAD_LOCAL for our platforms in order to unify TLS ↵Cinder
support
2014-11-19OPEN-282 Use pthreads for TLS on macCinder
2014-02-24merge with releaseRichard Linden
2014-01-30fix for heap corruption crash on shutdownRichard Linden
don't set stopped flag until recorder object has been deleted
2013-12-10SH-4653 FIX Interesting: Viewer crashes while reading chat historyRichard Linden
fix for crash on exit resulting from 8c0e024d0c33
2013-12-10BUILDFIX: bad use of non static memberRichard Linden
2013-12-10SH-4653 FIX Interesting: Viewer crashes while reading chat historyRichard Linden
2013-12-05added some comments and changed calls from get_master_thread_recorder()Richard Linden
over to get_thread_recorder() to be agnostic about which thread we're running on
2013-10-11fixed legacy usage of llendlRichard Linden
2013-10-08merge from viewer-releaseRichard Linden
2013-10-04Merge. Pull in viewer-release after 3.6.7 release.Monty Brandenberg
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-06SH-4411 Thread/mutex rework between main and worker threadMonty Brandenberg
Have the ::notifyLoadedMeshes() method doing correct locking and stall avoidance at the same time. This method now does lazy mutex lock acquisition (trylock()) and if it fails on either, it gives up and comes back later. Capture the maximum number of sequential failures and report this at the end of the run in the log. (So far, with big mesh regions, I've only seen 1s and 2s.) Locking/mutex requirements sorted in other locations as well. LLMutex gets trylock() method as well as new LLMutexTrylock scoped locking class. Clean up some documentation, more to do.
2013-07-18SH-4297 WIP interesting: viewer-interesting starts loading cached scene lateRichard Linden
fixed ostream precision munging in llsys
2013-07-15SH-4299Interesting: High fps shown temporarily off scale in statistics consoleRichard Linden
various fixes to lltrace start() on started recording no longer resets fixed various instances of unit forgetfullness in lltrace recording split now has gapless timing scene monitor now guarantees min sample time renamed a bunch of stats added names to debug thread view on windows
2013-07-01SH-4294 FIX Interesting: Statistics Texture cache hit rate is always 0%Richard Linden
also, removed LLTrace::init and cleanup removed derived class implementation of memory stat for LLMemTrackable is automatic now
2013-06-30fixed memory leak due to implementation of LLThreadLocalSingletonRichard Linden
removed LLThreadLocalSingleton collapsed all thread recorder classes to single type, LLTrace::ThreadRecorder moved fasttimer stack head to llthreadlocalsingletonpointer via ThreadRecorder
2013-06-22fixed scene load monitor resetting to eagerly due to spurious camer amotionRichard Linden
pulled swap() out of ui time block cleaned up internal lltrace dependencies, factored out common accumulator definitions
2013-06-05merge with viewer-releaseRichard Linden
2013-05-29SH-3931 WIP Interesting: Add graphs to visualize scene load metricsRichard Linden
fixed copy construction behavior of Recordings to not zero out data split measurement into event and sample, with sample representing a continuous function
2013-05-09Merge downstream code and viewer-betasimon
2013-04-17Some minor cleanups while hunting crashes. Reviewed by Kellysimon
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-02-28Attempt at a faster ThreadSafeRefCount classGraham Madarasz (Graham)
2012-12-05SH-3406 WIP convert fast timers to lltrace systemRichard Linden
changed thread id declaration to be local to llthread.cpp and use currentID() uniformly across platforms
2012-11-20SH-3406 WIP convert fast timers to lltrace systemRichard Linden
fixes to merge
2012-11-19merge with viewer-developmentRichard Linden
2012-10-10SH-3405 WIP convert existing stats to lltrace systemRichard Linden
fixed units conversion so that trace getters return convertable units removed circular dependencies from lltrace* converted more stats to lltrace
2012-10-02SH-3404 create sampler classRichard Linden
renamed LLTrace::ThreadTrace to LLTrace::ThreadRecorder renamed LLTrace::Sampler to LLTrace::Recording
2012-10-01SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
cleaned up API samplers are now value types with copy-on-write buffers under the hood removed coupling with LLThread
2012-09-28SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
created separate constructor for static allocation of sampler buffer fixed start/stop/resume semantics of samplers and added sampler time interval tracking
2012-09-26SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
slave threads now pushing data to master thread
2012-09-26SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
fixed various issues related to unit tests and LLThreadLocalPtr initialization and teardown
2012-09-24fixed buildRichard Linden
moved LLThread::lockData and unlockData back to header
2012-09-24SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
moved LLThreadLocalPtr to llapr fixed various startup race conditions for LLThreadLocalPtr
2012-09-21SH-3275 WIP Run viewer metrics for object update messagesRichard Linden
added LLThreadLocalPtr broke llmutex out into llmutex.h got primary sampling buffer under thread local storage
2012-11-07Merge. Refresh DRTVWR-209 with 3.4.2-beta1 code.Monty Brandenberg
Two fairly simple conflicts: dead stats sending code in the texture fetch code (new llcorehttp library) and the cleanup code in llappviewer was moved around in 3.4.x.
2012-10-03Fix non-thread-safe refcounting of LLHTTPClient::Responder and fix ↵Dave Parks
out-of-order deletion of LLTextureFetch on shutdown
2012-06-14LLMutex recursive lock, global & per-request tracing, simple GET request, ↵Monty Brandenberg
LLProxy support, HttpOptions starting to work, HTTP resource waiting fixed. Non-LLThread-based threads need to do some registration or LLMutex locks taken out in these threads will not work as expected (SH-3154). We'll get a better solution later, this fixes some things for now. Tracing of operations now supported. Global and per-request (via HttpOptions) tracing levels of [0..3]. The 2 and 3 levels use libcurl's VERBOSE mode combined with CURLOPT_DEBUGFUNCTION to stream high levels of detail into the log. *Very* laggy but useful. Simple GET request supported (no Range: header). Really just a degenrate case of a ranged get but supplied an API anyway. Global option to use the LLProxy interface to setup CURL handles for either socks5 or http proxy usage. This isn't really the most encapsulated way to do this but a better solution will have to come later. The wantHeaders and tracing options are now supported in HttpOptions giving per-request controls. Big refactoring of the HTTP resource waiter in lltexturefetch. What I was doing before wasn't correct. Instead, I'm implementing the resource wait after the Semaphore model (though not using system semaphores). So instead of having a sequence like: SEND_HTTP_REQ -> WAIT_HTTP_RESOURCE -> SEND_HTTP_REQ, we now do WAIT_HTTP_RESOURCE -> WAIT_HTTP_RESOURCE2 (actual wait) -> SEND_HTTP_REQ. Works well but the prioritized filling of the corehttp library needs some performance work later.
2012-01-20fix for SH-2823 and SH-2824: LLCurl crash inside LLBufferArray::countAfter() ↵Xiaohong Bao
and LLBufferArray::copyIntoBuffers
2011-07-22SH-2031 Cleanup from threaded curl implementation (remove errors/loops on ↵Dave Parks
shutdown).
2011-02-09SH-920 Wait for threads to shut down before deleting them -- also, fix some ↵Dave Parks
assertions that were encouraging people to comment out the destruction of LLSignal.
2010-12-21Automated merge from mesh-developmentLoren Shih
2010-12-17SH-682 WIP: allow DEBUG_FAST_TIMER_THREADS to work when enabledBrad Payne (Vir Linden)
2010-12-01Automated merge up from viewer-developmentLoren Shih
2010-11-23[mq]: thread_state_fixAndrew A. de Laix
2010-11-19Don't use llwarns/llinfos from a background thread.Dave Parks
2010-11-11hacking mac updater to install from local dmgAndrew A. de Laix
2010-11-09Fix crash if thread is manually shut down before it is destroyed.Andrew A. de Laix
2010-11-02Make sure mutex is locked before waiting on a signal.Dave Parks
Reviewed by Nyx.