summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xresource/src/InProcClientWrapper.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/resource/src/InProcClientWrapper.cpp b/resource/src/InProcClientWrapper.cpp
index 132d082d5..433d84008 100755
--- a/resource/src/InProcClientWrapper.cpp
+++ b/resource/src/InProcClientWrapper.cpp
@@ -962,15 +962,21 @@ namespace OC
try
{
rep = parseGetSetCallback(clientResponse);
+ OIC_LOG_V(DEBUG, TAG, "%s: call response callback", __func__);
+ std::thread exec(context->callback, serverHeaderOptions, rep, result);
+ exec.detach();
}
catch(OC::OCException& e)
{
- result = e.code();
+ oclog() << "Exception in parseGetSetCallback, ignoring callback: "
+ << e.what() << std::flush;
+ }
+ catch(const std::exception& e)
+ {
+ oclog() << "Exception in thread execution, ignoring callback: "
+ << e.what() << std::flush;
}
- OIC_LOG_V(DEBUG, TAG, "%s: call response callback", __func__);
- std::thread exec(context->callback, serverHeaderOptions, rep, result);
- exec.detach();
return OC_STACK_DELETE_TRANSACTION;
}