summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-08-19 21:27:58 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-08-20 23:44:45 +0300
commite4350fb9ef1a44416f0ef7873595db41b05dafc4 (patch)
tree77364e945b38b72381bfaac66f846daf1a65da91
parentacfbb41f4ddb59cd1fe0509949b7b1cf05ac4c9a (diff)
SL-13811 Crash on coroprocedure
Coroprosedure should stop on 'stop' exception
-rw-r--r--indra/llmessage/llcoproceduremanager.cpp8
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