- May 17, 2021
-
-
Nat Goodspeed authored
Two sleep() methods: one accepting F32Milliseconds, or in general any LLUnits time class; the other accepting any std::chrono::duration. The significant thing about each of these sleep() methods, as opposed to any freestanding sleep() function, is that it only sleeps until the app starts shutdown. Moreover, it returns true if it slept for the whole specified duration, false if it woke for app shutdown. This is accomplished by making LLApp::sStatus be an LLScalarCond<EAppStatus> instead of a plain EAppStatus enum, and by making setStatus() call set_all() each time the value changes. Then each new sleep() method can call wait_for_unequal(duration, APP_STATUS_RUNNING). Introducing llcond.h into llapp.h triggered an #include circularity because llthread.h #included llapp.h even though it didn't reference anything from it. Removed. This, in turn, necessitated adding #include "llapp.h" to several .cpp files that reference LLApp but had been depending on other header files to drag in llapp.h.
-
- Mar 09, 2021
-
-
Callum Prentice authored
This set of changes reverts the merge with master (git revert c83e740e) and results in a version of the DRTVWR-519 that matches what was presemt before it was deployed as a release viewer *plus* 3 small fixes from Maxim (See commits). This branch can now be used for additional fixes before eventually being used to release D-519 as normal
-
- Mar 08, 2021
-
-
https://bitbucket.org/lindenlab/viewerBrad Payne (Vir Linden) authored
This reverts commit e61f485a, reversing changes made to 00c47d07.
-
- Sep 17, 2020
-
-
Callum Prentice authored
The folder where the disk cache lives was originally renamed from llvfs to llcache but @henri's suggestion that that doesn't reflect the other files in the same place and it should be llfilesystem is a good one so I changed it over
-
Callum Prentice authored
Renamed the references to LLVFile and llvfile.* source code plus cmake scripts to use a different name - lldiskcache - since that more closely resembles what it is (or will be) now that the VFA is no more
-
- Sep 16, 2020
-
-
Callum Prentice authored
First part of change to remove LLVFS from the Viewer. Consists of code changes to remove LLVFS and LLVFSThread classes along with the associated source files. The existing llvfs folder is renamed to llcache. Also includes changes to CMake script in many places to reflect changes. Eventually, llvfile source file and class will be renamed but that is not in this change.
-
- Sep 11, 2020
-
-
Andrey Kleshchev authored
Got into D503 by accident
-
Andrey Kleshchev authored
-
Andrey Kleshchev authored
-
- Mar 25, 2020
-
-
Nicky authored
-
Nat Goodspeed authored
-
Nat Goodspeed authored
In three different places we use the same pattern: an ssl_thread_id_callback() function (a static member of LLCrashLogger, in that case) that used to be passed to CRYPTO_set_id_callback() and therefore returned an unsigned long representing the ID of the current thread. But GetCurrentThread() is a HANDLE, an alias for a pointer, and you can't uniquely cram a 64-bit pointer into an unsigned long. Fortunately OpenSSL has a more modern API for retrieving thread ID. Pass each ssl_thread_id_callback() function to CRYPTO_THREADID_set_callback() instead, converting it to accept CRYPTO_THREADID* and call CRYPTO_THREADID_set_pointer() or CRYPTO_THREADID_set_numeric() as appropriate().
-
- Jun 12, 2019
-
-
Oz Linden authored
-
- Jan 15, 2019
-
-
andreykproductengine authored
-
- Sep 07, 2018
-
-
Oz Linden authored
-
- Sep 05, 2018
-
-
Oz Linden authored
-
- Aug 30, 2017
-
-
andreykproductengine authored
-
- Aug 29, 2017
-
-
andreykproductengine authored
-
- Feb 27, 2017
-
-
Oz Linden authored
-
- Jun 30, 2016
-
-
Nat Goodspeed authored
The LLApp API used to consist of init(), mainLoop(), cleanup() methods. This makes sense -- but on Mac that structure was being subverted. The method called mainLoop() was in fact being called once per frame. There was initialization code in the method, which (on Mac) needed to be skipped with an already-initialized bool. There was a 'while' loop which (on Mac) needed to be turned into an 'if' instead so the method would return after every frame. Rename LLApp::mainLoop() to frame(). Propagate through subclasses LLAppViewer and LLCrashLogger. Document the fact that frame() returns true to mean "done." (This was always the case, but had to be inferred from the code.) Rename the Mac Objective-C function mainLoop to oneFrame. Rename the C++ free function it calls from runMainLoop() to pumpMainLoop(). Add comments to llappdelegate-objc.mm explaining (inferred) control flow. Change the Linux viewer main() and the Windows viewer WINMAIN() from a single LLAppViewer::mainLoop() call to repeatedly call frame() until it returns true. Move initialization code from the top of LLAppViewer::frame() to the init() method, where it more properly belongs. Remove corresponding mMainLoopInitialized flag (and all references) from LLAppViewer. Remove 'while (! LLApp::isExiting())' (or on Mac, 'if (! LLApp::isExiting())') from LLAppViewer::frame() -- thus unindenting the whole body of the 'while' and causing many lines of apparent change. (Apologies to reviewers.) There are four LLApp states: APP_STATUS_RUNNING, APP_STATUS_QUITTING, APP_STATUS_STOPPED and APP_STATUS_ERROR. Change LLAppViewer::frame() return value from (isExiting()) (QUITTING or ERROR) to (! isRunning()). I do not know under what circumstances the state might transition to STOPPED during a frame() call, but I'm quite sure that if it does, we don't want to call frame() again. We only want a subsequent call if the state is RUNNING. Also rename mainLoop() method in LLCrashLogger subclasses LLCrashLoggerWindows, LLCrashLoggerMac, LLCrashLoggerLinux. Of course it's completely up to the frame() method whether to yield control; none of those in fact do. Honor protocol by returning true (frame() is done), even though each one's main() caller ignores the return value. In fact LLCrashLoggerWindows::mainLoop() wasn't using the return protocol correctly anyway, returning wParam or 0 or 1 -- possibly because the return protocol was never explicitly documented. It should always return true: "I'm done, don't call me again."
-
- May 06, 2016
-
-
Oz Linden authored
-
- Apr 20, 2016
- Apr 13, 2016
- Mar 08, 2016
-
-
Glenn Glazer authored
-
Glenn Glazer authored
-
Glenn Glazer authored
-
- Feb 25, 2016
-
-
Glenn Glazer authored
-
- Jan 29, 2016
-
-
Rider Linden authored
-
Rider Linden authored
-
- Dec 16, 2015
-
-
Glenn Glazer authored
-
- Nov 10, 2015
-
-
Oz Linden authored
-
- Oct 14, 2015
-
-
Rider Linden authored
Refactor any remaining LLCore::HTTPHandlers to use boost::shared_ptr Started minor refactor in the materials manager into coroutines (unfinished)
-
- Sep 16, 2015
-
-
Glenn Glazer authored
-
- Sep 15, 2015
-
-
Rider Linden authored
-
- Jul 08, 2015
-
-
Rider Linden authored
-
Rider Linden authored
Convert LLCore::HttpHeaders to use shared_ptr<> rather than an intrusive_ptr<> for refrence counting.
-