Commit Graph

66 Commits (9edad026f4494de1a6f02ecc3f477faa27a361ef)

Author SHA1 Message Date
andreykproductengine 8a92a771ba SL-10291 Replace apr thread with standard C++11 functionality 2019-01-15 22:27:28 +02:00
Rider Linden 1038633526 MAINT-7634: Logging and instrumentation canges to narrow down viewer crashes. 2017-08-08 09:04:32 -07:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Richard Linden 80b4a4a1f5 merge with release 2014-02-24 18:45:59 -08:00
Richard Linden d4f3fe3c56 SH-4653 FIX Interesting: Viewer crashes while reading chat history 2013-12-10 12:50:23 -08:00
Richard Linden 80dfbbaacd merge from viewer-release 2013-10-08 11:59:24 -07:00
Monty Brandenberg 6f5790da38 Merge. Pull in viewer-release after 3.6.7 release. 2013-10-04 15:36:52 -04:00
Monty Brandenberg 0d93247359 SH-4411 Thread/mutex rework between main and worker thread
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-08-06 18:05:34 -04:00
Richard Linden e5b51c7f6c BUIDLFIX: moved LLThreadSafeRefCount to proper file 2013-07-22 11:01:52 -07:00
Richard Linden 075a7bcc98 SH-4297 WIP interesting: viewer-interesting starts loading cached scene late
dependency cleanup - removed a lot of unecessary includes
2013-07-18 15:09:45 -07:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
simon ee2fce8790 Merge downstream code and viewer-beta 2013-05-09 14:10:45 -07:00
Richard Linden 6b81b8629e Spring cleaning: removed unused .cpp and.h files, and cleaned up header dependencies 2013-05-05 17:45:35 -07:00
simon 39638b0de3 Convert LLThreadSafeRefCount back to atomic ref counting. Reviewed by Kelly 2013-04-26 15:54:03 -07:00
simon e2eca61045 Revert LLThreadSafeRefCount optimization; caps fetching was failing. Reviewed by Kelly 2013-04-23 16:31:20 -07:00
simon 6742d90d39 Some minor cleanups while hunting crashes. Reviewed by Kelly 2013-04-17 11:17:46 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Simon Linden d5561a1ada Merge in viewer-beta to get CHUI code 2013-03-19 16:20:53 -07:00
Graham Madarasz (Graham) dfda8826eb Make WL updates use pre-hashed strings for uniform sets 2013-03-01 11:21:35 -08:00
Graham Madarasz (Graham) ae1aa461ea Attempt at a faster ThreadSafeRefCount class 2013-02-28 16:37:09 -08:00
Richard Linden 68967e7b2b SH-3406 WIP convert fast timers to lltrace system
changed thread id declaration to be local to llthread.cpp and use
currentID() uniformly across platforms
2012-12-05 14:22:18 -08:00
William Todd Stinson 67bc42a80a Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-beta. 2012-11-20 16:20:40 -08:00
Richard Linden 5d51175cd7 SH-3406 WIP convert fast timers to lltrace system
fixes to merge
2012-11-20 15:55:04 -08:00
Richard Linden c0224cc47a merge with viewer-development 2012-11-19 19:06:36 -08:00
Richard Linden c136b43214 SH-3406 WIP convert fast timers to lltrace system
eliminated min and max macros from windows.h
got rest of viewer to compile against llfasttimer changes
2012-11-15 19:46:09 -08:00
William Todd Stinson 9da9b2d84b Pull and merge from ssh://stinson@hg.lindenlab.com/richard/viewer-chui/. 2012-10-17 14:32:29 -07:00
Dave Parks 6b0fe3258a Fix for mac/linux build 2012-10-03 16:02:22 -05:00
Dave Parks 374f20edf0 Fix non-thread-safe refcounting of LLHTTPClient::Responder and fix out-of-order deletion of LLTextureFetch on shutdown 2012-10-03 14:30:21 -05:00
Richard Linden 14b1b0b2bb SH-3275 WIP Run viewer metrics for object update messages
cleaned up API
samplers are now value types with copy-on-write buffers under the hood
removed coupling with LLThread
2012-10-01 19:39:04 -07:00
Richard Linden 38354e1906 SH-3275 WIP Run viewer metrics for object update messages
created separate constructor for static allocation of sampler buffer
fixed start/stop/resume semantics of samplers and added sampler time interval tracking
2012-09-28 10:45:14 -07:00
Richard Linden 07c4be092b SH-3275 WIP Run viewer metrics for object update messages
slave threads now pushing data to master thread
2012-09-26 19:12:40 -07:00
Richard Linden 05a3203d82 SH-3275 WIP Run viewer metrics for object update messages
fixed various issues related to unit tests and LLThreadLocalPtr initialization and teardown
2012-09-26 17:04:57 -07:00
Richard Linden 308ff886c3 fixed build
moved LLThread::lockData and unlockData back to header
2012-09-24 19:01:48 -07:00
Richard Linden adeeabfc13 SH-3275 WIP Run viewer metrics for object update messages
moved LLThreadLocalPtr to llapr
fixed various startup race conditions for LLThreadLocalPtr
2012-09-24 18:56:01 -07:00
Richard Linden 735fde8c74 SH-3275 WIP Run viewer metrics for object update messages
added LLThreadLocalPtr
broke llmutex out into llmutex.h
got primary sampling buffer under thread local storage
2012-09-21 18:52:08 -07:00
Monty Brandenberg 0755cb098d Merge. Refresh DRTVWR-209 with 3.4.2-beta1 code.
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-11-07 13:28:42 -05:00
Monty Brandenberg b08125a587 LLMutex recursive lock, global & per-request tracing, simple GET request, 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-06-14 16:31:48 -04:00
Richard Linden 2fa1c42aad CHUI-51 WIP notifications routig code cleanup
phase 2, removal of extraneous signaling in favor of llnotificationchannels
made notificationchannels work better with overrides and lifetime managed
by creator
2012-03-29 23:48:29 -07:00
Xiaohong Bao 9e6a5d7211 fix for SH-2823 and SH-2824: LLCurl crash inside LLBufferArray::countAfter() and LLBufferArray::copyIntoBuffers 2012-01-20 11:55:15 -07:00
Xiaohong Bao 4ec112bfce fix for SH-2738 and SH-2777, might also help SH-2723: heap corruption
SH-2738: Texture fetching freezes due to LLcurl
SH-2777: viewer crashed on logout in LLCurl::Easy::releaseEasyHandle
2011-12-15 21:39:48 -07:00
Oz Linden a5619d16f7 correct licenses (fix problem with license change merge) 2010-10-13 07:24:37 -04:00
Dave Parks 37a8c12bd3 merge 2010-06-14 23:04:11 -05:00
Lynx Linden 80a98a100b EXT-7853: Made LLMutex destructor virtual.
This fixes a potential resource leak whereby the destructor for
LLCondition, which derives from LLMutex, is never called.
2010-06-14 16:43:06 +01:00
Tofu Linden fc3ae43f70 indra/llcommon/llthread.h : dos2unix 2010-03-21 18:59:44 +00:00
Dave Parks 0ed1cd97d4 Fix for compiler errors introduced in merge. 2009-12-18 17:14:38 -06:00
Dave Parks 6aa71844a8 Merge with viewer-2-0 2009-12-18 13:24:29 -06:00
Dave Parks 1709f1efc0 Resolved timeout issues in mesh HTTP transfer. 2009-12-14 08:07:31 -06:00
Dave Parks 695969c770 HTTP Mesh fetch FTW.. still busted 2009-12-11 14:47:11 -06:00
Steve Bennetts 9730dd6a94 Added some threading debugging code. Should catch any recursive mutex locks in non Release builds. 2009-11-23 17:00:53 -08:00
brad kittenbrink 1ea60591a9 Refactoring of llviewerprecompiledheaders.h to hopefully increase stability
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.
2009-11-13 20:33:59 -05:00