Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
dependency cleanup - removed a lot of unecessary includes
|
|
|
|
|
|
dependencies
|
|
|
|
Reviewed by Kelly
|
|
|
|
|
|
|
|
|
|
|
|
changed thread id declaration to be local to llthread.cpp and use
currentID() uniformly across platforms
|
|
|
|
fixes to merge
|
|
|
|
eliminated min and max macros from windows.h
got rest of viewer to compile against llfasttimer changes
|
|
|
|
|
|
out-of-order deletion of LLTextureFetch on shutdown
|
|
cleaned up API
samplers are now value types with copy-on-write buffers under the hood
removed coupling with LLThread
|
|
created separate constructor for static allocation of sampler buffer
fixed start/stop/resume semantics of samplers and added sampler time interval tracking
|
|
slave threads now pushing data to master thread
|
|
fixed various issues related to unit tests and LLThreadLocalPtr initialization and teardown
|
|
moved LLThread::lockData and unlockData back to header
|
|
moved LLThreadLocalPtr to llapr
fixed various startup race conditions for LLThreadLocalPtr
|
|
added LLThreadLocalPtr
broke llmutex out into llmutex.h
got primary sampling buffer under thread local storage
|
|
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.
|
|
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.
|
|
phase 2, removal of extraneous signaling in favor of llnotificationchannels
made notificationchannels work better with overrides and lifetime managed
by creator
|
|
and LLBufferArray::copyIntoBuffers
|
|
SH-2738: Texture fetching freezes due to LLcurl
SH-2777: viewer crashed on logout in LLCurl::Easy::releaseEasyHandle
|
|
|
|
|
|
This fixes a potential resource leak whereby the destructor for
LLCondition, which derives from LLMutex, is never called.
|
|
|
|
|
|
|
|
|
|
|
|
in non Release builds.
|
|
and reduce unnecessary dependencies and incredibuild wedging. Hopefully in
the long run this will reduce build time. Also cleaned up a lot of header
file usage to conform better to the coding standard.
reviewed by james and steve.
|
|
|
|
|
|
Moves libllcommon.so to a staging dir for unit tests to work
and gets rid of LL_COMMON_API in forward declarations
|