summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2023-08-31SL-18837: Enlarge default coroutine stack size.Nat Goodspeed
A test executable on a GitHub Windows runner failed with C00000FD, which reports stack overflow. (cherry picked from commit aab7b4ba3812e5876b1205285bcfd8cff96bcac9)
2023-09-01MacOS build fixAndrey Kleshchev
2023-08-29SL-18837: On Windows, LLLeap partial final line test failed.Nat Goodspeed
Add DEBUG log output to try to diagnose.
2023-08-24SL-18620 Statistics->Advanced->Memory Usage no longer updatingAlexander Gavriliuk
2023-08-24Merge remote-tracking branch 'origin/main' into DRTVWR-489Andrey Kleshchev
# Conflicts: # indra/llcommon/llsdserialize.cpp # indra/llcommon/llsdserialize.h # indra/llmath/llvolume.cpp # indra/llrender/llgl.cpp # indra/llxml/llcontrol.cpp # indra/newview/llpanelnearbymedia.cpp # indra/newview/llsceneview.cpp # indra/newview/llselectmgr.cpp # indra/newview/llstartup.cpp # indra/newview/lltextureview.cpp # indra/newview/llvovolume.cpp # indra/newview/skins/default/xui/en/menu_viewer.xml
2023-08-23Merge branch main (DRTVWR-582) into DRTVWR-567Andrey Kleshchev
# Conflicts: # indra/newview/app_settings/settings.xml # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorymodel.cpp # indra/newview/llinventoryobserver.cpp # indra/newview/llinventoryobserver.h # indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml
2023-08-23Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2023-08-23Merge branch 'main' into DRTVWR-587-maint-VAndrey Lihatskiy
# Conflicts: # autobuild.xml
2023-08-23Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-08-23SL-19299 Code formatting in modified filesAlexander Gavriliuk
2023-08-23SL-19299 Viewer crashes after change 'Pick a physics model:' dropdownAlexander Gavriliuk
2023-08-18SL-20140 Optimization LLDictionary::addEntry() - avoid of double searchAlexander Gavriliuk
2023-08-17DRTVWR-588: Try even harder to normalize Windows pathnames (SIGHH)Nat Goodspeed
2023-08-17DRTVWR-588: Merge branch 'DRTVWR-588-maint-W' into DRTVWR-588-cleanup-timersNat Goodspeed
2023-08-17DRTVWR-588: To write b'\n' in Python source, use "b'\\n'"Nat Goodspeed
2023-08-17DRTVWR-588: Try harder to normalize Windows pathames to compare.Nat Goodspeed
2023-08-17DRTVWR-588: print(file=) to binary file still requires str argument.Nat Goodspeed
Use f.writelines((bytes, b'\n')) instead.
2023-08-17DRTVWR-588: Correct typo in deprecation warning.Nat Goodspeed
2023-08-17DRTVWR-588: Remove some unused redundant timer functionality.Nat Goodspeed
LLEventTimer supported static run_every(), run_at() and run_after() methods to schedule future work. This can still be done by deriving from LLEventTimer, but is better accomplished with a WorkSchedule instance. These convenience methods, which encourage use of LLEventTimer insted of WorkSchedule, weren't used except by LLEventTimeout. Remove them and the LLEventTimer::Generic subclass used to implement them. Similarly, LLEventTimeout supported static post_every(), post_at() and post_after() methods based on LLEventTimer::run_every(), run_at() and run_after(). These weren't used either. LLRunner is a very old mechanism to schedule future work that seems to be unused. Research suggests that it's indirectly engaged only by LLDeferredChain, which isn't used. LLIOSleeper is tested but isn't otherwise used. Add a deprecation warning to llrun.h prior to excision. Also replace Boost.Bind with lambdas.
2023-08-17DRTVWR-588: Remove Boost Phoenix, Bind and Assign from some tests.Nat Goodspeed
llsdserialize_test used Boost.Foreach, Boost.Function and Boost.Bind. llleap_test used Boost.Assign. Both used Boost.Phoenix. Replace Boost.Foreach with range 'for'. Replace Boost.Function with std::function. Replace Boost.Assign with initializer lists. Replace Boost.Bind and Boost.Phoenix with lambdas.
2023-08-17DRTVWR-588: Eliminate APR and Boost.Phoenix from NamedTempFile.Nat Goodspeed
NamedTempFile used to use APR calls to discover a suitable temp directory, synthesize a temp filename template, generate the unique file, write its content and ultimately delete it. This required a reference to gAPRPoolp as the default value of an optional constructor argument in case some usage demanded an alternative APR memory pool. It also used Boost.Phoenix placeholders to magically synthesize a callable. Replace APR calls with Boost.Filesystem; replace Boost.Phoenix with lambdas. Break out unique path generation logic as static NamedTempFile::temp_path(). In a nod to GitHub Actions builds, honor RUNNER_TEMP environment variable if set. test.cpp's RecordToTempFile need no longer pass an apr_pool_t* to NamedTempFile. NamedTempFile's constructor now accepts an optional suffix, making subclass NamedExtTempFile nearly trivial. It no longer needs to create or remove a symlink, for which it used to use APR calls. llprocess_test.cpp's NamedTempDir used to use Python's tempfile.mkdtemp() to create a temp directory, and apr_dir_remove() to destroy it. Replace both with NamedTempFile::temp_path() and Boost.Filesystem. Also add diagnostic output for LLProcess test failure. If llprocess_test cannot launch a child process, notice the APR_LOG environment variable recognized by our patched apr_suite to engage logging, and report the contents of that file.
2023-08-17DRTVWR-588: Finally ditch LL_USE_SYSTEM_RAND code in llrand.cpp.Nat Goodspeed
This conditional code hasn't been used since June 2008, possibly even earlier.
2023-08-16DRTVWR-588: Merge branch 'fix-monterey' into DRTVWR-588-montereyNat Goodspeed
2023-08-12SL-18721 Viewer shutdown order changesAndrey Kleshchev
Same thing as commit cf692c40b0b9f8d0d04cd10a02a84e3f697a2e99 which was removed due to shutdown freezes. Error thread is no longer there so doesn't cause any race sonditions, was not able to repro any issues so will ask QA to test shutdown
2023-08-12SL-19744 Small cleanupAndrey Kleshchev
2023-08-01SL-18623 LLAvatarRenderInfoAccountant coroutine crashAndrey Kleshchev
For unknown reason allocations of these coroutines often crash on client machines. 1. Limit quantity of coros running in parallel by reducing retries and wait time 2. Print out more diagnostic info
2023-07-28DRTVWR-587: Use [[noreturn]] attribute on callFail() methodsNat Goodspeed
that unconditionally return. This eliminates the problem of pacifying a compiler that expects a return statement vs. a compiler that detects that callFail() unconditionally throws. Thanks, Ansariel.
2023-07-27DRTVWR-587: Skip some tests that only fail with older Visual StudioNat Goodspeed
2023-07-27DRTVWR-587: Make LLSDParam<LLSD> simplify type when delegating.Nat Goodspeed
LLSDParam<LLSD> is the generic case, when we need to pass LLSDParam adapters to some set of function parameters whose types we don't specifically know. Its templated conversion operator notices the actual parameter type T and delegates conversion to the specific LLSDParam<T> specialization. But when T has picked up references, e.g. somewhere along the way in the LL::apply() machinery, the compiler might not choose the desired conversion because we don't have a sufficiently specific LLSDParam specialization. LLSDParam<LLSD> can address that by using std::decay_t<T> when delegating to the specific LLSDParam specialization. This removes references, const and volatile.
2023-07-27DRTVWR-587: Disable LazyEventAPI tests on TeamCity Macs.Nat Goodspeed
There's a limit to how much time it's worth trying to work around a compiler bug that's already been fixed in newer Xcode.
2023-07-27DRTVWR-587: Try harder to work around clang bug.Nat Goodspeed
2023-07-27DRTVWR-587: Try to work around clang bug.Nat Goodspeed
2023-07-27DRTVWR-587: Revert "Try again to address older clang difficulties."Nat Goodspeed
That wasn't the issue. This is a compiler bug: https://github.com/llvm/llvm-project/issues/41999 https://stackoverflow.com/q/57080425 https://bugs.llvm.org/show_bug.cgi?id=42654 This reverts commit c406fa7ae97441d1d6e0ea6727c42c8f978fabed.
2023-07-27DRTVWR-587: Try again to address older clang difficulties.Nat Goodspeed
2023-07-27DRTVWR-587: Tweak LazyEventAPIBase::add() to mollify clang.Nat Goodspeed
Both the previous version and this compile and run successfully with Xcode 14.3.1, but our older TeamCity compiler chokes -- so we must iterate remotely, sigh.
2023-07-26DRTVWR-587: Move constexpr arity into lambda that uses it.Nat Goodspeed
VC doesn't recognize that a constexpr name doesn't need to be bound into a lambda. However, since it's knowable at compile time, it can be deduced within the innermost lambda. (cherry picked from commit 37c3daff1a565eaafee691dfb57702b6b8f024d6)
2023-07-25DRTVWR-587: Pacify VS 2022 specifically.Nat Goodspeed
2023-07-21SL-18837: Merge branch 'main' of secondlife/viewer into actionsNat Goodspeed
2023-07-18Merge remote-tracking branch 'origin/xcode-14.3' into DRTVWR-559 (#292)Brad Linden
2023-07-18DRTVWR-489: trivial merge conflict fixCallum Prentice
2023-07-18Merge pull request #280 from secondlife/dispatch-maint-v2nat-goodspeed
Major improvements to LLLeap functionality
2023-07-18SL-18837: Ditch inactive llrand.cpp LL_USE_SYSTEM_RAND code.Nat Goodspeed
LL_USE_SYSTEM_RAND has been disabled since June 2008; that code only clutters the implementation we actually use.
2023-07-17SL-18837: Lowercasing pathname for string compare is Windows-only.Nat Goodspeed
2023-07-17Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-07-17Merge branch 'main' (DRTVWR-580) into DRTVWR-567Andrey Kleshchev
# Conflicts: # indra/llui/llfolderviewitem.cpp # indra/newview/llinventorymodel.cpp # indra/newview/llinventorymodelbackgroundfetch.cpp
2023-07-17SL-18837: Clean up some redundancy in llrand.cpp.Nat Goodspeed
2023-07-17Merge branch 'main' into DRTVWR-582-maint-UAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/llcommon/llerrorthread.cpp
2023-07-17SL-18837: Merge branch 'actions' into actions-build-shNat Goodspeed
2023-07-13DRTVWR-558: Constrain LL::apply()'s use of std::apply().Nat Goodspeed
Once std::apply() becomes available, 'using std::apply;' isn't correct because the more general template tries to handle the apply(function, vector) case that we explicitly implement below. Have to provide apply(function, tuple) and apply(function, array) signatures that can forward to std::apply().
2023-07-13DRTVWR-558: Fix a few lleventdispatcher_test merge glitches.Nat Goodspeed