Added missing catch block for std::exception (#598) 44/217944/1
authorkush.agrawal@samsung.com <kush.agrawal@samsung.com>
Mon, 11 Nov 2019 07:03:33 +0000 (12:33 +0530)
committerSudipto Bal <sudipto.bal@samsung.com>
Mon, 18 Nov 2019 02:41:14 +0000 (11:41 +0900)
* [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 <kush.agrawal@samsung.com>
* Removed extra space

Change-Id: Ic45c377796668dce5ad417d89c17624267d21a33
Signed-off-by: Sudipto Bal <sudipto.bal@samsung.com>
resource/src/InProcClientWrapper.cpp

index 132d082..433d840 100755 (executable)
@@ -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;
     }