From e6911f6be4fbfd2d32426348e8f84c450d9f591c Mon Sep 17 00:00:00 2001 From: Jee Hyeok Kim Date: Wed, 23 Nov 2016 17:51:41 +0900 Subject: [PATCH] [IOT-1592] Fix rd publish fail 1. RD publish fail due to lack of shared point lock logic. https://jira.iotivity.org/browse/IOT-1592 Change-Id: I278b67ac050fb5bcb0cb5ee6920c27e446f0f01a Signed-off-by: Jee Hyeok Kim Reviewed-on: https://gerrit.iotivity.org/gerrit/14647 Tested-by: jenkins-iotivity Reviewed-by: Habib Virji Reviewed-by: Phil Coval (cherry picked from commit d1abd0caaa69ba0f4346ecd8958e4fb4363ae239) Reviewed-on: https://gerrit.iotivity.org/gerrit/14711 --- resource/csdk/resource-directory/include/RDClient.h | 8 +++++++- resource/csdk/resource-directory/src/RDClient.cpp | 2 -- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/resource/csdk/resource-directory/include/RDClient.h b/resource/csdk/resource-directory/include/RDClient.h index 288e985..2f48e01 100644 --- a/resource/csdk/resource-directory/include/RDClient.h +++ b/resource/csdk/resource-directory/include/RDClient.h @@ -46,9 +46,15 @@ class RDClient { private: OCQualityOfService m_qos; + std::shared_ptr _csdkLock; + std::weak_ptr m_csdkLock; + public: - RDClient(OCQualityOfService qos = OC_NA_QOS) : m_qos(qos) + RDClient(OCQualityOfService qos = OC_NA_QOS) + : m_qos(qos), + _csdkLock{ std::make_shared() } { + m_csdkLock = _csdkLock; } static RDClient& Instance() diff --git a/resource/csdk/resource-directory/src/RDClient.cpp b/resource/csdk/resource-directory/src/RDClient.cpp index 365ab5d..115c451 100644 --- a/resource/csdk/resource-directory/src/RDClient.cpp +++ b/resource/csdk/resource-directory/src/RDClient.cpp @@ -33,8 +33,6 @@ #include "OCException.h" #include "ocpayload.h" -std::weak_ptr m_csdkLock; - using namespace OC; -- 2.7.4