X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=service%2Fresource-encapsulation%2Fsrc%2FresourceCache%2Fsrc%2FResourceCacheManager.cpp;h=386e809d03188e7b5cd15130179ed6760a8ab1e7;hb=3822ce603149787ed5f22bccbe34a130dd31ee0b;hp=8a3f0201994cbdbb0b7f236108fc5d0e179e302f;hpb=8ecedd5f9bcc7057add829666a5a93685ed6f145;p=platform%2Fupstream%2Fiotivity.git diff --git a/service/resource-encapsulation/src/resourceCache/src/ResourceCacheManager.cpp b/service/resource-encapsulation/src/resourceCache/src/ResourceCacheManager.cpp index 8a3f020..386e809 100644 --- a/service/resource-encapsulation/src/resourceCache/src/ResourceCacheManager.cpp +++ b/service/resource-encapsulation/src/resourceCache/src/ResourceCacheManager.cpp @@ -88,6 +88,7 @@ namespace OIC auto newHandler = std::make_shared(pResource); newHandler->startCache(std::move(func)); + m_observeCacheList.push_back(newHandler); observeCacheIDmap.insert(std::make_pair(retID, newHandler)); return retID; @@ -133,6 +134,7 @@ namespace OIC if ((dataCacheIns == cacheIDmap.end() && observeIns == observeCacheIDmap.end()) || id == 0) { + lock.~lock_guard(); throw RCSInvalidParameterException {"[cancelResourceCache] CacheID is invaild"}; } @@ -146,6 +148,7 @@ namespace OIC { (observeIns->second).reset(); observeCacheIDmap.erase(id); + lock.~lock_guard(); throw; } (observeIns->second).reset();