summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2015-12-18And more linux linkingRider Linden
2015-12-18Automated merge with ssh://bitbucket.org/rider_linden/azumarill-vivoxNat Goodspeed
2015-12-18MAINT-5976: Fix bug in LLCoros::set_consuming() mechanism.Nat Goodspeed
The original implementation of set_consuming() involved a bool* pointing to a local bool in VoidListener::operator()()'s stack frame. postAndSuspend() would set that bool (through the pointer) as soon as it returned from suspension. The trouble with that is that LLEventMailDrop potentially calls its new listener (fulfilling the future) immediately in the listen_impl() override -- in other words, way up at the top of postAndSuspend(), well before the code that sets the relevant bool. Instead, make the adapter formerly known as VoidListener bind the coroutine's get_consuming() value at adapter construction time (before listening on the LLEventPump), so that its operator()() has the coroutine's correct get_consuming() value to return. Eliminating the bool* makes the code both simpler AND more correct! This change makes that adapter very specific to coroutine usage. Rename it FutureListener and migrate it from lleventcoros.h into the .cpp file. Nobody else was using it anyway. Make corresponding changes to postAndSuspend2() and its WaitForEventOnHelper class -- whose name no longer corresponds to the function as it used to. Rename that one FutureListener2. The new FutureListener functionality, common to both these adapters, makes it useful to derive FutureListener2 from FutureListener. Introduce llmake(), a generic function to deduce template type arguments from function parameter types. This allows us to remove the voidlistener() and wfeoh() helper functions. Hiding VoidListener broke one of the lleventcoro_test.cpp tests. But that test was sort of a lame recap of an earlier implementation of postAndSuspend(), based on LLEventPump events. Recast that test to illustrate how to use a coroutine future to suspend a coroutine for something other than an LLEventPump. But that rubbed my nose in the fact that we MUST wrap future's context switching with proper management of the current coroutine. Introduce LLCoros::Future<T>, which wraps boost::dcoroutines::future<T>. Use LLCoros::Future<T> in postAndSuspend() and postAndSuspend2().
2015-12-18Another rt link for linuxRider Linden
2015-12-18MergeRider Linden
2015-12-18Disable unit test on Linux onlyRider Linden
2015-12-18MergeRider Linden
2015-12-18More rt libRider Linden
2015-12-18Adding RT to another cmake file for LinuxRider Linden
2015-12-18Reorder the rt library for Linux buildRider Linden
2015-12-18increment viewer version to 4.0.1Oz Linden
2015-12-17MAINT-5977: Update cmake file to always include boost with LLCommonRider Linden
2015-12-17MAINT-5977: Check get_consuming() as well as listener return when draining ↵Rider Linden
queue.
2015-12-17MAINT-5977: Finish implementation of MailBox event pump type for guaranteed ↵Rider Linden
delivery
2015-12-17Mergerider
2015-12-17MAINT-5976: Adding MailDrop type event Queuerider
2015-12-16merge with headcallum_linden
2015-12-16maint-5875 fix llceflib_host.exe' error about missing MSVCP120.dllcallum_linden
2015-12-16MAINT-5976: Introduce LLCoros::set_consuming(bool).Nat Goodspeed
set_consuming(true) tells each postAndSuspend() call to consume the event for which it is suspending.
2015-12-15Fix for OS X and Linux - their compilers do not like missing entries in case ↵callum_linden
statement
2015-12-15MAINT-5966 - file download failures need feedbackcallum_linden
2015-12-15Throttle consecutive connect attempts.rider
2015-12-14MAINT-5962: Added routine for checking MoaP double click and forwarding ↵Rider Linden
those double click events into to the plugin.
2015-12-11Missed a commit for MAINT-5948 - enable double clickcallum_linden
2015-12-11Remove some of the dead code. 1:1 chat is working but group chat fails now. ↵Rider Linden
Need to reexamine the entire flow.
2015-12-10Possible fix for private call hangup.Rider Linden
2015-12-09Voice session state now in coro (includes all sub states as part of the coro)Rider Linden
2015-12-09Automated merge with ssh://bitbucket.org/callum_linden/viewer-cefNat Goodspeed
2015-12-09MAINT-5862: Change the Linux wording in the ToS floater per Grumpity.Nat Goodspeed
2015-12-08Adjust login to account for required double response.Rider Linden
2015-12-08Convert session joining/adding and creating to coroutineRider Linden
2015-12-04Start work on capture/playback routines.Rider Linden
2015-12-04Initial changes for Vivox/Azumarill merge. Lots of temporary code and ↵Rider Linden
conditional compile switches. Begin switch from statemachine to coroutine.
2015-12-04MAINT-5941 [Valhalla] Default flash to on by default (reverts MAINT-5773)callum_linden
2015-12-04Merge fix for MAINT-5892AndreyL ProductEngine
2015-12-04MAINT-5892 Argument fixAndreyL ProductEngine
2015-12-03Merged callum_linden/viewer-cef into defaultRider Linden
2015-12-03MAINT-5909: Enable unicode text input on mac and feed that directly into the ↵rider
viewer. Windows fixes still required.
2015-12-02merge changes for MAINT-5901Oz Linden
2015-12-02merge changes for MAINT-5901Oz Linden
2015-11-25MAINT-5901: Make avatar auto pilot work correctly through transparent objectsOz Linden
2015-11-24SL-192 Edit Experience Profile shows up once an Exp is acquiredandreykproductengine
2015-11-24MAINT-5892 Added the comments to the function parametersAndreyL ProductEngine
2015-11-23Merged callum_linden/viewer-cef into defaultRider Linden
2015-11-23Merge from Vivox RepoRider Linden
2015-11-23Refrain from sending right mouse button events - crashes OS X - and we don't ↵Callum Prentice
need them
2015-11-23MAINT-5892 FIXED Alt camming on rigged mesh makes the camera judder, get ↵AndreyL ProductEngine
stuck or fly off into the distance.
2015-11-20pull in llceflib changes for user agent, flash plugins and pdfcallum_linden
2015-11-20MAINT-5835: Cut down on log spam from coros and voice.Rider Linden
2015-11-20MAINT-5831: If there is a teleport request active and it has failed, ↵Rider Linden
teleport state will always return "None".