Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-04-20 | MAINT-6336: Crasher showing up in voice was a Bound Listener that should ↵ | Rider Linden | |
have been a Temp Bound listener. | |||
2016-03-17 | Merge | Rider Linden | |
2016-01-04 | MAINT-5976: On Linux builds do not specify explict for bool conversion operator. | Rider Linden | |
2015-12-22 | MAINT-5976: Removed temp code to simulate Nat's fix. Now redundant. | Rider Linden | |
2015-12-21 | Merged in nat_linden/viewer-azumarill-vivox (pull request #2) | Rider Linden | |
MAINT-5976: Fix bug in LLCoros::set_consuming() mechanism. | |||
2015-12-18 | And more linux linking | Rider Linden | |
2015-12-18 | MAINT-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-17 | MAINT-5977: Check get_consuming() as well as listener return when draining ↵ | Rider Linden | |
queue. | |||
2015-12-17 | MAINT-5977: Finish implementation of MailBox event pump type for guaranteed ↵ | Rider Linden | |
delivery | |||
2015-12-17 | Merge | rider | |
2015-12-17 | MAINT-5976: Adding MailDrop type event Queue | rider | |
2015-12-16 | MAINT-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-04 | Initial changes for Vivox/Azumarill merge. Lots of temporary code and ↵ | Rider Linden | |
conditional compile switches. Begin switch from statemachine to coroutine. | |||
2015-11-20 | MAINT-5835: Cut down on log spam from coros and voice. | Rider Linden | |
2015-11-20 | WOLF-300: Re-enable llleap_test with the smaller data volume. | Nat Goodspeed | |
2015-11-18 | WOLF-300: Try using a smaller data volume for LLLeap tests on Windows. | Nat Goodspeed | |
2015-10-31 | Re-enable llprocess tests, leaving only llleap tests commented out. | Nat Goodspeed | |
2015-10-31 | Automated merge with ssh://bitbucket.org/lindenlab/viewer-release | Nat Goodspeed | |
2015-10-17 | Suppress specifically the LLProcess and LLLeap integration tests | Nat Goodspeed | |
because of Oz's suspicion that they may, in some mysterious way, contribute to code-signing failures. | |||
2015-10-19 | Merge from viewer release. | Rider Linden | |
2015-10-13 | merge changes for MAINT-4734 | pavelkproductengine | |
2015-10-09 | Merge Xcode 7 Update | pavelkproductengine | |
2015-10-01 | Merge for Xcode 7 | rider | |
2015-09-30 | Merge downstream code, version 3.8.5 | AndreyL ProductEngine | |
2015-09-29 | DRTVWR-409: merge DRTVWR-368 | Rider Linden | |
2015-09-18 | comment out LL_DEBUGS that fails because 'expression evalauted desipite ↵ | callum_linden | |
being used as an operand to typeid' | |||
2015-09-18 | Shouldn't have renamed this include. | Rider Linden | |
2015-09-18 | Tweek to naming postEventAndSuspend -> postAndSuspend | Rider Linden | |
2015-09-18 | Set consistent terminology for yield/wait -> suspend for coroutines. | Rider Linden | |
2015-09-18 | MAINT-5351: Zap one more vestigial reference to coroutine 'self' param. | Nat Goodspeed | |
2015-09-10 | MAINT-5575: Finished converting experience cache to singleton | Rider Linden | |
MAINT-4952: Coverted VMM to coroutines | |||
2015-08-25 | Reenable and correct link issue on linux llappearanceutility. | Rider Linden | |
2015-08-20 | MAINT-5533 FIXED The fragment part of an URI is only shown if it contains a ↵ | AndreyL ProductEngine | |
query part as well. fix by Ansariel | |||
2015-08-19 | Swap BOOST_COROUTINE and BOOST_CONTEXT | Rider Linden | |
2015-08-11 | Merge | Rider Linden | |
2015-08-04 | Merge downstream code and become version 3.8.3 | andreykproductengine | |
2015-08-04 | Merge downstream code and become version 3.8.3 | andreykproductengine | |
2015-07-15 | Merge | Rider Linden | |
2015-07-15 | Merge downstream code and become version 3.8.2 | andreykproductengine | |
2015-07-15 | Merge from viewer-relese and become version 3.8.2 | andreykproductengine | |
2015-07-14 | 3.8.1-release | Oz Linden | |
2015-07-12 | MAINT-5351: glh-linear 'equivalent' macro has been destroyed. | Nat Goodspeed | |
Hopefully we no longer need to brute-force remove any more macros with the same name. | |||
2015-07-10 | MAINT-5351: Finish cleaning up messy merge from backing out backout | Nat Goodspeed | |
2015-07-10 | Automated merge with file:///Users/nat/linden/maint-4952-v-t-u | Nat Goodspeed | |
2015-07-10 | Merge restore of more selfless changes | Nat Goodspeed | |
2015-07-10 | Backed out changeset bab1000e1b2d: restore 'selfless' changes | Nat Goodspeed | |
2015-07-10 | Merge restore of selfless changes | Nat Goodspeed | |
2015-07-10 | Backed out changeset 6e1fa9518747: reapply 'selfless' changes | Nat Goodspeed | |
2015-07-10 | MAINT-5351: Improve management of "current" coroutine information. | Nat Goodspeed | |
Our first cut at tracking the "current" coroutine simply reset the pointer to NULL every time we context-switched away. But that strategy doesn't handle the case of coroutine A launching coroutine B. Introduce LLCoros::CoroData to track, among other things, the previous value of the current-coroutine pointer each time we switch into a coroutine. Restore THAT value when we switch back out. | |||
2015-07-07 | Merge | Rider Linden | |