summaryrefslogtreecommitdiff
path: root/indra/llcommon/llcoros.cpp
AgeCommit message (Collapse)Author
2009-09-25DEV-32777, QAR-1619: Disable MSVC Release-build optimization for ↵Nat Goodspeed
LLCoros::launchImpl(). This fixes the Release-build crash in lllogin_test.cpp.
2009-06-04DEV-32777: Use a canonical boost::coroutines::coroutine signature, relying onNat Goodspeed
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-03DEV-32777: Introduce LLCoros, an LLSingleton registry of named coroutineNat Goodspeed
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().