diff options
author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-08-19 21:27:58 +0300 |
---|---|---|
committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-08-20 23:44:45 +0300 |
commit | e4350fb9ef1a44416f0ef7873595db41b05dafc4 (patch) | |
tree | 77364e945b38b72381bfaac66f846daf1a65da91 | |
parent | acfbb41f4ddb59cd1fe0509949b7b1cf05ac4c9a (diff) |
SL-13811 Crash on coroprocedure
Coroprosedure should stop on 'stop' exception
-rw-r--r-- | indra/llmessage/llcoproceduremanager.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/indra/llmessage/llcoproceduremanager.cpp b/indra/llmessage/llcoproceduremanager.cpp index 3f55bda1e3..969cd162fb 100644 --- a/indra/llmessage/llcoproceduremanager.cpp +++ b/indra/llmessage/llcoproceduremanager.cpp @@ -415,6 +415,14 @@ void LLCoprocedurePool::coprocedureInvokerCoro( { coproc->mProc(httpAdapter, coproc->mId); } + catch (const LLCoros::Stop &) + { + LL_INFOS("CoProcMgr") << "Viewer is shutting Down. Stopping coprocedure('" << coproc->mName + << "', id=" << coproc->mId.asString() + << ") in pool '" << mPoolName << "'" << LL_ENDL; + mActiveCoprocs.erase(itActive); + throw; // let toplevel handle this as LLContinueError + } catch (...) { LOG_UNHANDLED_EXCEPTION(STRINGIZE("Coprocedure('" << coproc->mName |