Commit Graph

34961 Commits (cdde5d0f03f8b283e54269fa879bbbc685fe98da)

Author SHA1 Message Date
rider cdde5d0f03 MAINT-5976: No sleep for mac on shutdown. 2016-01-07 09:20:11 -08:00
Rider Linden 7692e9554d MAINT-5976: Shutdown and reconnection for coroutine version. 2016-01-06 16:42:53 -08:00
Rider Linden 334d13f332 MAINT-5976: Handle connect and disconnect for P2P calls. 2016-01-06 12:56:55 -08:00
Rider Linden 27bc0e049b MAINT-5978: Remove move of the residual state machine. Send initial positional update upon joining channel. 2016-01-06 10:10:07 -08:00
Rider Linden d0e90ea0cf MAINT-5976: On Linux builds do not specify explict for bool conversion operator. 2016-01-04 13:38:13 -08:00
Rider Linden 38f4019752 MAINT-5978: Disable state machine, turn running of vivox over to the coroutine. 2016-01-04 12:16:29 -08:00
Rider Linden ae1c75c1c8 MAINT-5976: Removed temp code to simulate Nat's fix. Now redundant. 2015-12-22 10:17:44 -08:00
Rider Linden c6fd58f0c4 Merged in nat_linden/viewer-azumarill-vivox (pull request #2)
MAINT-5976: Fix bug in LLCoros::set_consuming() mechanism.
2015-12-21 15:37:52 -08:00
Rider Linden 3edc3c5554 CMake fixes for Linux build 2015-12-21 14:26:41 -08:00
Rider Linden 5ae4299291 And more linux linking 2015-12-18 15:56:07 -08:00
Nat Goodspeed a0a0288f6a Automated merge with ssh://bitbucket.org/rider_linden/azumarill-vivox 2015-12-18 18:06:52 -05:00
Nat Goodspeed 2ee22ed264 MAINT-5976: Fix bug in LLCoros::set_consuming() mechanism.
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-18 18:06:32 -05:00
Rider Linden 7900e2ee77 Another rt link for linux 2015-12-18 15:06:24 -08:00
Rider Linden 909e409743 Merge 2015-12-18 14:10:02 -08:00
Rider Linden b98469bd7d Disable unit test on Linux only 2015-12-18 13:53:03 -08:00
Rider Linden 6dd80980cf Merge 2015-12-18 10:16:26 -08:00
Rider Linden 6fca0eaa00 More rt lib 2015-12-18 09:59:03 -08:00
Rider Linden 6b4151d895 Adding RT to another cmake file for Linux 2015-12-18 09:55:12 -08:00
Rider Linden 9210dcb328 Reorder the rt library for Linux build 2015-12-18 08:52:39 -08:00
Oz Linden 7b993d15b7 increment viewer version to 4.0.1 2015-12-18 06:30:19 -05:00
Oz Linden 142be5b062 Added tag 4.0.0-release for changeset ae3297cdd03a 2015-12-18 06:30:19 -05:00
Rider Linden 4e8edebe13 MAINT-5977: Update cmake file to always include boost with LLCommon 2015-12-17 17:12:11 -08:00
Rider Linden 6851dd30ca MAINT-5977: Check get_consuming() as well as listener return when draining queue. 2015-12-17 14:53:21 -08:00
Rider Linden 2c9097aa28 MAINT-5977: Finish implementation of MailBox event pump type for guaranteed delivery 2015-12-17 14:09:51 -08:00
rider db70768def Merge 2015-12-17 09:07:50 -08:00
rider 83c9c6df07 MAINT-5976: Adding MailDrop type event Queue 2015-12-17 09:06:19 -08:00
callum_linden 76e83ec00a merge with head 2015-12-16 18:09:51 -08:00
callum_linden dd3b3a4fca maint-5875 fix llceflib_host.exe' error about missing MSVCP120.dll 2015-12-16 18:09:30 -08:00
Nat Goodspeed 6a062089b8 MAINT-5976: Introduce LLCoros::set_consuming(bool).
set_consuming(true) tells each postAndSuspend() call to consume the event for
which it is suspending.
2015-12-16 17:13:04 -05:00
callum_linden e07c2f8491 Fix for OS X and Linux - their compilers do not like missing entries in case statement 2015-12-15 16:34:06 -08:00
callum_linden 3bf8929d93 MAINT-5966 - file download failures need feedback 2015-12-15 15:24:41 -08:00
rider f4b6a89ab0 Throttle consecutive connect attempts. 2015-12-15 11:13:47 -08:00
Rider Linden 3e46058651 MAINT-5962: Added routine for checking MoaP double click and forwarding those double click events into to the plugin. 2015-12-14 14:14:29 -08:00
callum_linden 6582c0238b Pull in new LLCEFLib with updated version number 2015-12-14 11:37:41 -08:00
callum_linden 5f1fe20e9e Missed a commit for MAINT-5948 - enable double click 2015-12-11 16:15:34 -08:00
Rider Linden de2a94665b Remove some of the dead code. 1:1 chat is working but group chat fails now. Need to reexamine the entire flow. 2015-12-11 15:43:08 -08:00
callum_linden 46d1112163 pick up new version of LLCEFLib with fixes for BUG-10880 2015-12-11 12:21:31 -08:00
Rider Linden c5ba7f6a86 Possible fix for private call hangup. 2015-12-10 16:18:04 -08:00
Rider Linden 7e58b0793b Voice session state now in coro (includes all sub states as part of the coro) 2015-12-09 16:33:51 -08:00
Nat Goodspeed cf40d26829 Automated merge with ssh://bitbucket.org/callum_linden/viewer-cef 2015-12-09 07:39:16 -05:00
Nat Goodspeed 9384eac91b MAINT-5862: Change the Linux wording in the ToS floater per Grumpity. 2015-12-09 07:36:06 -05:00
Rider Linden aa67a2fba0 Adjust login to account for required double response. 2015-12-08 16:56:56 -08:00
Rider Linden 69bfba1267 Convert session joining/adding and creating to coroutine 2015-12-08 14:32:04 -08:00
Rider Linden 5d51e0d06b Start work on capture/playback routines. 2015-12-04 16:06:38 -08:00
Rider Linden 2763bbd975 Initial changes for Vivox/Azumarill merge. Lots of temporary code and conditional compile switches. Begin switch from statemachine to coroutine. 2015-12-04 14:27:22 -08:00
callum_linden c3877be954 MAINT-5941 [Valhalla] Default flash to on by default (reverts MAINT-5773) 2015-12-04 11:21:32 -08:00
callum_linden d795dfa6ec Pull in new LLCEFLib with @rider's fixes for ENTER and Japanese text entry 2015-12-04 08:52:05 -08:00
Rider Linden be77efa742 Merged callum_linden/viewer-cef into default 2015-12-03 16:35:14 -08:00
rider eb484d5051 MAINT-5909: Enable unicode text input on mac and feed that directly into the viewer. Windows fixes still required. 2015-12-03 13:32:06 -08:00
Oz Linden 65c9d9f171 merge changes for MAINT-5901 2015-12-02 16:38:37 -05:00