Commit Graph

40420 Commits (690909716bfb2e2cae3bf9c18f6ec37d3ece086e)

Author SHA1 Message Date
Anchor 690909716b [DRTVWR-476] - fix compiler error 2020-03-25 18:40:45 -04:00
Anchor 16453005bb [DRTVWR-476] - update cef, fix merge 2020-03-25 18:40:45 -04:00
Anchor f0b07eafa2 [DRTVWR-476] - temporary skip failing llinstancetracker tests to get TC build working 2020-03-25 18:40:45 -04:00
Anchor ff810f5cfb [DRTVWR-476] - suppress dbghelp.h compiler warnings 2020-03-25 18:40:44 -04:00
Anchor ca66cea70d [DRTVWR-476] - revert 2020-03-25 18:40:44 -04:00
Anchor cc230eef30 [DRTVWR-476] - disable llcorehttp test on mac 2020-03-25 18:40:44 -04:00
Anchor 201ff48cb1 [DRTVWR-476] - temporarily disable llcorehttptest on mac 2020-03-25 18:40:44 -04:00
Anchor 244e0dc001 [DRTVWR-476] - conflicts with a mac macro 2020-03-25 18:40:44 -04:00
Anchor e36eaa685c [DRTVWR-476] - update googlemock,boost,colladom 2020-03-25 18:40:44 -04:00
Anchor 00437298d0 [DRTVWR-476] - update breakpad 2020-03-25 18:39:21 -04:00
Brad Kittenbrink 828223bf1b Implemented some code review suggested cleanups. 2020-03-25 18:39:21 -04:00
Brad Kittenbrink 6ffbed484a Fix stall during login by yielding when needed from the LLXXMLRPCListener's Poller. 2020-03-25 18:39:21 -04:00
Brad Kittenbrink 6419c6e279 Removed unnecessary disconnection of listener in postAndSuspendSetup 2020-03-25 18:39:21 -04:00
Brad Kittenbrink c26c2bc3f0 Improved aggregate init syntax for DefaultPoolSizes map. 2020-03-25 18:39:21 -04:00
Brad Kittenbrink 8013a81adc Switched LL_ERRS to LL_WARNS for case where promise is fulfilled multiple times by multiple events. 2020-03-25 18:39:21 -04:00
Brad Kittenbrink b09aa6a2bf Improved shutdown behavior of LLCoprocedureManager 2020-03-25 18:39:21 -04:00
Brad Kittenbrink 997bdfc886 First draft of boost::fibers::unbuffered_channel based implementation of LLCoprocedureManager 2020-03-25 18:39:21 -04:00
Brad Kittenbrink a6f31e9167 Fixed variadic macro usage in LL_ERRS_IF and LL_WARNS_IF and improved LLError::shouldLogToStderr() behavior under xcode. 2020-03-25 18:39:21 -04:00
Brad Kittenbrink 6992ad457c Lint fixes on new test file. 2020-03-25 18:39:21 -04:00
Brad Kittenbrink 66abe4ccab Attempt to close LLEventCoro's LLBoundListener connection when promise has been fulfilled. 2020-03-25 18:39:21 -04:00
Brad Kittenbrink a26905b0c5 Added try/catch closer to source of error so LL_ERRS fatal can be more useful for debugging; 2020-03-25 18:39:21 -04:00
Brad Kittenbrink 96639a8d09 Fix failure when building packages-info.txt when autobuild can't be found in xcode's PATH 2020-03-25 18:39:21 -04:00
Brad Kittenbrink 09b29a7fde Began work for adding a test covering LLCoprocedureManager 2020-03-25 18:39:21 -04:00
Anchor b09770946a [DRTVWR-476] - disable dbghelp.h warnings 2020-03-25 18:39:20 -04:00
Anchor 476721e48a Backed out changeset: de49423bb5ae 2020-03-25 18:39:20 -04:00
Anchor 8dff5a257f Backed out changeset: 02ef251a64b5 2020-03-25 18:39:20 -04:00
Anchor 3327447f95 [DRTVWR-476] - skip a math test 2020-03-25 18:39:20 -04:00
Anchor 6e69cb4852 [DRTVWR-476] - update libpng, libndo, xmlrpc 2020-03-25 18:39:20 -04:00
Anchor b98c392864 [DRTVWR-476] - update kdu 2020-03-25 18:39:20 -04:00
Anchor b5bb0794f0 [DRTVWR-476] - fix linking 2020-03-25 18:39:20 -04:00
Anchor 761d9aa3bf [DRTVWR-476] - test adding at beginiing of list 2020-03-25 18:39:20 -04:00
Anchor e039f5e29e [DRTVWR-476] - legacy_stdio_definitions shld be the last library linked 2020-03-25 18:39:20 -04:00
Anchor 0ed3724c95 [DRTVWR-476] - add legacy_stdio_definitions 2020-03-25 18:39:20 -04:00
Anchor 554e12ef15 [DRTVWR-476] - update apr and kdu 2020-03-25 18:39:20 -04:00
Anchor 636989c139 [DRTVWR-476] - target windows 10 2020-03-25 18:39:20 -04:00
Anchor 1ea42d88f7 [DRTVWR-476] - compile error fix 2020-03-25 18:39:20 -04:00
Anchor 243b111565 [DRTVWR-476] - compile error fix 2020-03-25 18:39:20 -04:00
Anchor fc09af763c [DRTVWR-476] - update openjpeg 2020-03-25 18:39:20 -04:00
Anchor 24408d2a82 [DRTVWR-476] - fix openjpeg include 2020-03-25 18:39:20 -04:00
Anchor 65b268ff86 [DRTVWR-476] - fix openjpeg dll path 2020-03-25 18:39:20 -04:00
Nat Goodspeed 101ab28f0c SL-793: Fix lllogin_test.cpp for new LLCoros implementation.
Delete the test for SRV timeout: lllogin no longer issues an SRV query. That
test only confuses the test program without exercising any useful paths in
production code.

As with other tests dating from the previous LLCoros implementation, we need a
few llcoro::suspend() calls sprinkled in so that a fiber marked ready -- by
fulfilling the future for which it is waiting -- gets a chance to run.

Clear LLEventPumps between test functions.
2020-03-25 18:39:20 -04:00
Nat Goodspeed 939d350548 SL-793: Add LL_PRETTY_FUNCTION macro wrapping __PRETTY_FUNCTION__
which is, of course, different in Visual Studio (__FUNCSIG__).

Use LL_PRETTY_FUNCTION in DEBUG output instead of plain __FUNCTION__.
2020-03-25 18:39:20 -04:00
Nat Goodspeed 0c32c98f25 SL-793: Add LLEventPumps::clear() method to disconnect all listeners.
This is like the existing reset() method, except that reset() is specifically
intended for shutdown: it disables every existing LLEventPump in such a way
that it cannot be subsequently reused. (The original idea was to disconnect
listeners in DLLs unloaded at shutdown.)

clear() forcibly disconnects all existing listeners, but leaves LLEventPumps
ready for reuse. This is useful (e.g.) for test programs to reset the state of
LLEventPumps between individual test functions.
2020-03-25 18:39:19 -04:00
Nat Goodspeed 66981fab0b SL-793: Use Boost.Fiber instead of the "dcoroutine" library.
Longtime fans will remember that the "dcoroutine" library is a Google Summer
of Code project by Giovanni P. Deretta. He originally called it
"Boost.Coroutine," and we originally added it to our 3p-boost autobuild
package as such. But when the official Boost.Coroutine library came along
(with a very different API), and we still needed the API of the GSoC project,
we renamed the unofficial one "dcoroutine" to allow coexistence.

The "dcoroutine" library had an internal low-level API more or less analogous
to Boost.Context. We later introduced an implementation of that internal API
based on Boost.Context, a step towards eliminating the GSoC code in favor of
official, supported Boost code.

However, recent versions of Boost.Context no longer support the API on which
we built the shim for "dcoroutine." We started down the path of reimplementing
that shim using the current Boost.Context API -- then realized that it's time
to bite the bullet and replace the "dcoroutine" API with the Boost.Fiber API,
which we've been itching to do for literally years now.

Naturally, most of the heavy lifting is in llcoros.{h,cpp} and
lleventcoro.{h,cpp} -- which is good: the LLCoros layer abstracts away most of
the differences between "dcoroutine" and Boost.Fiber.

The one feature Boost.Fiber does not provide is the ability to forcibly
terminate some other fiber. Accordingly, disable LLCoros::kill() and
LLCoprocedureManager::shutdown(). The only known shutdown() call was in
LLCoprocedurePool's destructor.

We also took the opportunity to remove postAndSuspend2() and its associated
machinery: FutureListener2, LLErrorEvent, errorException(), errorLog(),
LLCoroEventPumps. All that dual-LLEventPump stuff was introduced at a time
when the Responder pattern was king, and we assumed we'd want to listen on one
LLEventPump with the success handler and on another with the error handler. We
have never actually used that in practice. Remove associated tests, of course.

There is one other semantic difference that necessitates patching a number of
tests: with "dcoroutine," fulfilling a future IMMEDIATELY resumes the waiting
coroutine. With Boost.Fiber, fulfilling a future merely marks the fiber as
ready to resume next time the scheduler gets around to it. To observe the test
side effects, we've inserted a number of llcoro::suspend() calls -- also in
the main loop.

For a long time we retained a single unit test exercising the raw "dcoroutine"
API. Remove that.

Eliminate llcoro_get_id.{h,cpp}, which provided llcoro::get_id(), which was a
hack to emulate fiber-local variables. Since Boost.Fiber has an actual API for
that, remove the hack.

In fact, use (new alias) LLCoros::local_ptr for LLSingleton's dependency
tracking in place of llcoro::get_id().

In CMake land, replace BOOST_COROUTINE_LIBRARY with BOOST_FIBER_LIBRARY. We
don't actually use the Boost.Coroutine for anything (though there exist
plausible use cases).
2020-03-25 17:32:45 -04:00
Nat Goodspeed cb6b06d7c8 SL-793: Update to boost build 509640 2020-03-25 16:47:24 -04:00
Nat Goodspeed 88dbeba143 SL-793: Update to boost build 509450 2020-03-25 16:37:45 -04:00
Nat Goodspeed 8124870e43 SL-793
Update boost to codeticket version 509640.
Update colladadom to codeticket version 509683.
Update googlemock to codeticket version 509686.
2020-03-25 16:36:32 -04:00
Nat Goodspeed 8ff5c378f7 SL-793
Update boost to codeticket version 509519.
Update colladadom to codeticket version 509540.
Update googlemock to codeticket version 509541.
2020-03-25 16:35:36 -04:00
Nat Goodspeed 5ca997856f SL-793
Update colladadom to codeticket version 509467.
Update googlemock to codeticket version 509463.
Update boost to codeticket version 509450.
2020-03-25 16:34:35 -04:00
Nat Goodspeed 7ef0d43b53 SL-793: Update viewer to Boost 1.65.1 build 508584 and dependencies. 2020-03-25 16:29:36 -04:00