summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-25DRTVWR-476: Update to viewer-manager build 531568Nat Goodspeed
2020-03-25DRTVWR-476: Update to openjpeg build 531548Nat Goodspeed
2020-03-25DRTVWR-476: Update vlc-bin, jsoncpp, pcre, libndofdev, libhunspell, ↵Nat Goodspeed
bugsplat, fmodex, llca, jpeglib, libxml2, slvoice, glod, dullahan, glext, kdu, uriparser, glh_linear, tut, nghttp2, dictionaries, zlib, llphysicsextensions_source, openjpeg, nvapi, expat, viewer-manager, google_breakpad, libpng, ogg_vorbis, openssl, xmlrpc-epi, apr_suite, freetype, boost, colladadom, googlemock, curl, havok-source Update vlc-bin to codeticket version 531366. Update jsoncpp to codeticket version 531360. Update pcre to codeticket version 531373. Update libndofdev to codeticket version 531359. Update libhunspell to codeticket version 531369. Update bugsplat to codeticket version 531352. Update fmodex to codeticket version 531266. Update llca to codeticket version 531253. Update jpeglib to codeticket version 531361. Update libxml2 to codeticket version 531380. Update slvoice to codeticket version 531358. Update glod to codeticket version 531370. Update dullahan to codeticket version 531387. Update glext to codeticket version 531247. Update kdu to codeticket version 531363. Update uriparser to codeticket version 531367. Update glh_linear to codeticket version 531260. Update tut to codeticket version 531246. Update nghttp2 to codeticket version 531364. Update dictionaries to codeticket version 531288. Update zlib to codeticket version 531372. Update llphysicsextensions_source to codeticket version 531362. Update openjpeg to codeticket version 531368. Update nvapi to codeticket version 531376. Update expat to codeticket version 531365. Update viewer-manager to codeticket version 531239. Update google_breakpad to codeticket version 531388. Update libpng to codeticket version 531386. Update ogg_vorbis to codeticket version 531357. Update openssl to codeticket version 531379. Update xmlrpc-epi to codeticket version 531374. Update apr_suite to codeticket version 531375. Update freetype to codeticket version 531385. Update boost to codeticket version 531381. Update colladadom to codeticket version 531391. Update googlemock to codeticket version 531390. Update curl to codeticket version 531389. Update havok-source to codeticket version 531509.
2020-03-25DRTVWR-476: Update to havok-source build 531405Nat Goodspeed
2020-03-25DRTVWR-476: Re-enable an llcoproceduremanager_test case.Nat Goodspeed
Use new Sync class to make the driving logic wait for the coprocedure to run.
2020-03-25DRTVWR-476: Add Sync class to help with stepwise coroutine tests.Nat Goodspeed
Sync is specifically intended for test programs. It is based on an LLScalarCond<int>. The idea is that each of two coroutines can watch for the other to get a chance to run, indicated by incrementing the wrapped int and notifying the wrapped condition_variable. This is less hand-wavy than calling llcoro::suspend() and hoping that the other routine will have had a chance to run. Use Sync in lleventcoro_test.cpp. Also refactor lleventcoro_test.cpp so that instead of a collection of static data requiring a clear() call at start of each individual test function, the relevant data is all part of the test_data struct common to all test functions. Make the helper coroutine functions members of test_data too. Introduce llcoro::logname(), a convenience function to log the name of the currently executing coroutine or "main" if in the thread's main coroutine.
2020-03-25DRTVWR-476: Improve llprocess_test.cpp diagnostic output.Nat Goodspeed
If the test<1>() child process terminates with nonzero rc, also report any stdout/stderr it might have emitted first.
2020-03-25DRTVWR-476: Update to libndofdev build 530327Nat Goodspeed
2020-03-25DRTVWR-476: Add basic tests for LLCond.Nat Goodspeed
2020-03-25DRTVWR-476: Fix first round of compile errors.Nat Goodspeed
2020-03-25DRTVWR-476: Fix convert(F32Milliseconds)Nat Goodspeed
2020-03-25DRTVWR-476: Review response: remove wait_until() methods and LLDate.Nat Goodspeed
2020-03-25DRTVWR-476: Review response: support LLDate and llunits.h durations.Nat Goodspeed
Also introduce value_type typedef.
2020-03-25DRTVWR-476: WIP: Untested preliminary implementation of LLCond.Nat Goodspeed
LLCond encapsulates the usage patterns required to properly use condition_variable. We also provide LLScalarCond, LLBoolCond and LLOneShotCond.
2020-03-25DRTVWR-476: Fix confusing comment in LLProcess::handle_status().Nat Goodspeed
The global replace in changeset bd80903cf987 was a bit too sweeping: a comment mentioning the OS function wait() (which exists) was inadvertently changed to talk about an OS function suspend() (which does not).
2020-03-25Tweaks to VSTool source and executable for compatibility with VS 2017callum_linden
2020-03-25[DRTVWR-476] - temp fix to test. comment it out. access violation in releaseAnchor
2020-03-25[DRTVWR-476] - temp fix to a testAnchor
2020-03-25DRTVWR-476: Disable test_httprequest.hpp on Mac Release builds.Nat Goodspeed
For reasons not yet diagnosed, specifically in Mac Release builds, the tests in test_httprequest.hpp consistently crash with a backtrace suggesting that the worker thread is calling LLCore::HttpLibcurl::completeRequest() after the foreground thread calls HttpRequest::destroyService(). Weirdly, even executing a tut::skip() call in every test<n>() function up to the point of the crash does not eliminate the crash.
2020-03-25DRTVWR-476: Remove special llcorehttp test memory manager.Nat Goodspeed
NickyD discovered that the substitute default allocator used for llcorehttp tests was returning badly-aligned storage, which caused access violations on alignment-sensitive data such as std::atomic. Thanks Nicky!! Moreover, the llcorehttp test assertions regarding memory usage, well- intentioned though they are, have been causing us trouble for years. Many have already been disabled. The problem is that use of test_allocator.h affected *everything* defined with that header file's declarations visible. That inevitably included specific functions in other subsystems. Those functions then (unintentionally) consumed the special allocator, throwing off the memory tracking and making certain memory-related assertions consistently fail. This is a particular, observable bad effect of One Definition Rule violations. Within a given program, C++ allows multiple definitions for the same entity, but requires that all such definitions be the same. Partial visibility of the global operator new() and operator delete() overrides meant that some definitions of certain entities used the default global allocator, some used llcorehttp's. There may have been other, more subtle bad effects of these ODR violations. If one wanted to reimplement verification of the memory consumption of llcorehttp classes: * Each llcorehttp class (for which memory tracking was desired) should declare class-specific operator new() and operator delete() methods. Naturally, these would all consume a central llcorehttp-specific allocator, but that allocator should *not* be named global operator new(). * Presumably that would require runtime indirection to allow using the default allocator in production while substituting the special allocator for tests. * Recording and verifying the memory consumption in each test should be performed in the test-object constructor and destructor, rather than being sprinkled throughout the test<n>() methods. * With that mechanism in place, the test object should provide methods to adjust (or entirely disable) memory verification for a particular test. * The test object should also provide a "yes, we're still consuming llcorehttp memory" method to be used for spot checks in the middle of tests -- instead of sprinkling in explicit comparisons as before. * In fact, the llcorehttp test object in each test_*.hpp file should be derived from a central llcorehttp test-object base class providing those methods.
2020-03-25DRTVWR-476: On Mac, copy libhunspell-1.3.0.dylib for test programs.Nat Goodspeed
2020-03-25DRTVWR-476: Add LLCOREHTTP_TESTS CMake var, OFF by default on Mac.Nat Goodspeed
Hopefully this is temporary until we solve the problem of crashy llcorehttp test executable on Mac.
2020-03-25General cleanup. Delete commented out code.Nicky
2020-03-25Replace boost::fibers::unbuffered_channel with boost::fibers::buffered_channel.Nicky
Using boost::fibers::unbuffered_channel can block the mainthread when calling mPendingCoprocs.push (LLCoprocedurePool::enqueueCoprocedure) From the documentation: - If a fiber attempts to send a value through an unbuffered channel and no fiber is waiting to receive the value, the channel will block the sending fiber. This can happen if LLCoprocedurePool::coprocedureInvokerCoro is running a coroutine and this coroutine calls yield, resuming the viewers main loop. If inside the main loop someone calls LLCoprocedurePool::enqueueCoprocedure now push will block, as there's no one waiting for a result right now. The wait would be in LLCoprocedurePool::coprocedureInvokerCoro at the start of the while loop, but we have not reached that yet again as LLCoprocedurePool::coprocedureInvokerCoro did yield before reaching pop_wait_for. The result is a deadlock. boost::fibers::buffered_channel will not block as long as there's space in the channel. A size of 4096 (DEFAULT_QUEUE_SIZE) should be plenty enough for this.
2020-03-25[DRTVWR-476] - fix compiler errors 32 bit windows buildAnchor
2020-03-25SL-1968: Extend lllogin_test login-failed cases for new sync timing.Nat Goodspeed
On login failure, LLLogin now tries to sync up with SLVersionChecker. It waits for up to 10 seconds before shrugging and giving up. Since that coroutine can now block for that long, make the llogin_test failure cases wait at least that long too.
2020-03-25Ignore build-vc150-* directories as those are the VS2017 build dirs (n.b. ↵Nicky
due to the rather strange version numbering of VS this really should be build-vc141-*; as VS2017 is vc141 internally).
2020-03-25Do not use string/chrono literals, sadly that won't work with GCC (4.9)Nicky
2020-03-25Use reinterpret_cast to pass pthread_self (pthread_t) into ↵Nicky
CRYPTO_THREADID_set_pointer (void*).
2020-03-25[DRTVWR-476] - fix compiler errorAnchor
2020-03-25[DRTVWR-476] - update cef, fix mergeAnchor
2020-03-25[DRTVWR-476] - temporary skip failing llinstancetracker tests to get TC ↵Anchor
build working
2020-03-25[DRTVWR-476] - suppress dbghelp.h compiler warningsAnchor
2020-03-25[DRTVWR-476] - revertAnchor
2020-03-25[DRTVWR-476] - disable llcorehttp test on macAnchor
2020-03-25[DRTVWR-476] - temporarily disable llcorehttptest on macAnchor
2020-03-25[DRTVWR-476] - conflicts with a mac macroAnchor
2020-03-25[DRTVWR-476] - update googlemock,boost,colladomAnchor
2020-03-25[DRTVWR-476] - update breakpadAnchor
2020-03-25Implemented some code review suggested cleanups.Brad Kittenbrink
2020-03-25Fix stall during login by yielding when needed from the LLXXMLRPCListener's ↵Brad Kittenbrink
Poller.
2020-03-25Removed unnecessary disconnection of listener in postAndSuspendSetupBrad Kittenbrink
2020-03-25Improved aggregate init syntax for DefaultPoolSizes map.Brad Kittenbrink
2020-03-25Switched LL_ERRS to LL_WARNS for case where promise is fulfilled multiple ↵Brad Kittenbrink
times by multiple events.
2020-03-25Improved shutdown behavior of LLCoprocedureManagerBrad Kittenbrink
2020-03-25First draft of boost::fibers::unbuffered_channel based implementation of ↵Brad Kittenbrink
LLCoprocedureManager
2020-03-25Fixed variadic macro usage in LL_ERRS_IF and LL_WARNS_IF and improved ↵Brad Kittenbrink
LLError::shouldLogToStderr() behavior under xcode.
2020-03-25Lint fixes on new test file.Brad Kittenbrink
2020-03-25Attempt to close LLEventCoro's LLBoundListener connection when promise has ↵Brad Kittenbrink
been fulfilled.
2020-03-25Added try/catch closer to source of error so LL_ERRS fatal can be more ↵Brad Kittenbrink
useful for debugging;