From cae47ec6b9da52379fa308443dadd9759b79346e Mon Sep 17 00:00:00 2001 From: "kush.agrawal@samsung.com" Date: Mon, 11 Nov 2019 12:33:33 +0530 Subject: [PATCH] Added missing catch block for std::exception (#598) * [CONPRO-1523]Added missing catch block for std::exception This exception is thrown when thread execution fails https://github.sec.samsung.net/RS7-IOTIVITY/IoTivity/pull/598/commits/2a57dc73fe7dc0d0c9fdf7b93ec3e4ac1974d9f2 (cherry-picked from 2a57dc73fe7dc0d0c9fdf7b93ec3e4ac1974d9f2) Signed-off-by: Kush * Removed extra space Change-Id: Ic45c377796668dce5ad417d89c17624267d21a33 Signed-off-by: Sudipto Bal --- resource/src/InProcClientWrapper.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/resource/src/InProcClientWrapper.cpp b/resource/src/InProcClientWrapper.cpp index 132d082..433d840 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; } -- 2.7.4