diff options
author | Brad Kittenbrink <brad@lindenlab.com> | 2019-02-27 16:55:08 -0800 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2020-03-25 18:39:21 -0400 |
commit | a26905b0c5570644bb7a65b952accfe2c3f81c33 (patch) | |
tree | f8cfc4d1bfe26191ead7f9a9208c6ba456ff9cdb /indra/llcommon/lleventcoro.cpp | |
parent | 96639a8d09862eca95c483336d603aeb85694370 (diff) |
Added try/catch closer to source of error so LL_ERRS fatal can be more useful for debugging;
Diffstat (limited to 'indra/llcommon/lleventcoro.cpp')
-rw-r--r-- | indra/llcommon/lleventcoro.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/indra/llcommon/lleventcoro.cpp b/indra/llcommon/lleventcoro.cpp index 47d99f0050..367ddf485d 100644 --- a/indra/llcommon/lleventcoro.cpp +++ b/indra/llcommon/lleventcoro.cpp @@ -138,9 +138,17 @@ LLBoundListener postAndSuspendSetup(const std::string& callerName, // the specified LLEventPump with that callback LLBoundListener connection( replyPump.getPump().listen(listenerName, - [&promise, consuming](const LLSD& result) + [&promise, consuming, listenerName](const LLSD& result) { - promise.set_value(result); + try + { + promise.set_value(result); + } + catch(boost::fibers::promise_already_satisfied & ex) + { + LL_ERRS("lleventcoro") << "promise already satisfied in '" + << listenerName << "' " << ex.what() << LL_ENDL; + } return consuming; })); // skip the "post" part if requestPump is default-constructed |