Commit Graph

4 Commits (bea2dfbc22bb2d80755dcf9daf810e1ea0329c2d)

Author SHA1 Message Date
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Nat Goodspeed ec52e19dd1 DEV-32777, QAR-1619: Disable MSVC Release-build optimization for LLCoros::launchImpl().
This fixes the Release-build crash in lllogin_test.cpp.
2009-09-25 10:55:25 -04:00
Nat Goodspeed 820d4a20d1 DEV-32777: Use a canonical boost::coroutines::coroutine signature, relying on
boost::bind() to pass any other coroutine arguments. This allows us to remove
the LLCoroBase and LLCoro constructs, directly storing a coroutine object in
our ptr_map. It also allows us to remove the multiple launch() overloads for
multiple arguments. Finally, it lets us move most launch() functionality into
a non-template method.
2009-06-04 16:01:40 +00:00
Nat Goodspeed 285613b892 DEV-32777: Introduce LLCoros, an LLSingleton registry of named coroutine
instances. LLCoros::launch() intends to address three issues:
- ownership of coroutine instance
- cleanup of coroutine instance when it terminates
- central place to twiddle MSVC optimizations to bypass DEV-32777 crash.
Initially coded on Mac; will address the third bullet on Windows.
Adapt listenerNameForCoro() to consult LLCoros::getName() if applicable.
Change LLLogin::Impl::connect() to use LLCoros::launch().
LLCoros::getName() relies on patch to boost::coroutines::coroutine::self to
introduce get_id().
2009-06-03 21:38:21 +00:00