Fix for IOT-927 resource container attribute update/notify race condition
authorMarkus Jung <markus.jung@samsung.com>
Tue, 2 Feb 2016 12:34:13 +0000 (21:34 +0900)
committerUze Choi <uzchoi@samsung.com>
Tue, 23 Feb 2016 04:42:59 +0000 (04:42 +0000)
commit8638ada6958174f8e6c1b570ff9f4c1209064442
tree4eb8fc00cb80f2341caf66118f028a4a33aa24dc
parentbc7acf98099e5bad6d5f70d849c91b962cd3e401
Fix for IOT-927 resource container attribute update/notify race condition

- Asynchronous notification of observing clients
- Mutex for access on RCSResourceAttributes
- returning RCSResourceAttributes by value
- reference to const RCSResourceAttributes for handleSetAttributeRequest API

Note: The change breaks backward compatibility with previous APIs

Change-Id: I2f84353aa993772e7a1a908c766c77786fe7c3ea
Signed-off-by: Markus Jung <markus.jung@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/4913
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Madan Lanka <lanka.madan@samsung.com>
Reviewed-by: George Nash <george.nash@intel.com>
Reviewed-by: JungHo Kim <jhyo.kim@samsung.com>
Reviewed-by: Uze Choi <uzchoi@samsung.com>
16 files changed:
service/resource-container/bundle-api/include/BundleResource.h
service/resource-container/bundle-api/include/ProtocolBridgeResource.h
service/resource-container/bundle-api/include/SoftSensorResource.h
service/resource-container/examples/BMISensorBundle/include/BMISensorResource.h
service/resource-container/examples/BMISensorBundle/src/BMISensorResource.cpp
service/resource-container/examples/ContainerSampleClient.cpp
service/resource-container/examples/DiscomfortIndexSensorBundle/include/DiscomfortIndexSensorResource.h
service/resource-container/examples/DiscomfortIndexSensorBundle/src/DiscomfortIndexSensorResource.cpp
service/resource-container/examples/HueSampleBundle/include/HueLight.h
service/resource-container/examples/HueSampleBundle/src/HueLight.cpp
service/resource-container/src/BundleResource.cpp
service/resource-container/src/JavaBundleResource.cpp
service/resource-container/src/JavaBundleResource.h
service/resource-container/src/ResourceContainerImpl.cpp
service/resource-container/unittests/ResourceContainerTest.cpp
service/resource-container/unittests/TestBundle/include/TestBundleActivator.h