summaryrefslogtreecommitdiff
path: root/modules/sensors/dynamic_sensor/DynamicSensorManager.h
diff options
context:
space:
mode:
authoralk3pInjection <webmaster@raspii.tech>2022-05-01 20:50:40 +0800
committeralk3pInjection <webmaster@raspii.tech>2022-05-01 20:50:40 +0800
commit5b2cac52ba778c82474b770b8218f12b200abbba (patch)
treeaa6a2935fe22ca8ee764f8d0c5637cc9e540a5f5 /modules/sensors/dynamic_sensor/DynamicSensorManager.h
parentfff55eaf71d44da7a003bccc4f835351b61efd6e (diff)
parent05445d8b448ea0349822250fa0c2a6f651289736 (diff)
Merge tag 'LA.QSSI.12.0.r1-06800-qssi.0' into sugisawa-mr1HEADsugisawa-mr1
"LA.QSSI.12.0.r1-06800-qssi.0" Change-Id: I3c5a85f5c37b5bba1590d2aa8f67e5b3f01939c8
Diffstat (limited to 'modules/sensors/dynamic_sensor/DynamicSensorManager.h')
-rw-r--r--modules/sensors/dynamic_sensor/DynamicSensorManager.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/modules/sensors/dynamic_sensor/DynamicSensorManager.h b/modules/sensors/dynamic_sensor/DynamicSensorManager.h
index b6f39da6..264582ec 100644
--- a/modules/sensors/dynamic_sensor/DynamicSensorManager.h
+++ b/modules/sensors/dynamic_sensor/DynamicSensorManager.h
@@ -95,15 +95,18 @@ private:
// TF: int foo(sp<BaseSensorObject> obj);
template <typename TF>
int operateSensor(int handle, TF f) const {
- std::lock_guard<std::mutex> lk(mLock);
- const auto i = mMap.find(handle);
- if (i == mMap.end()) {
- return BAD_VALUE;
- }
- sp<BaseSensorObject> s = i->second.promote();
- if (s == nullptr) {
- // sensor object is already gone
- return BAD_VALUE;
+ sp<BaseSensorObject> s;
+ {
+ std::lock_guard<std::mutex> lk(mLock);
+ const auto i = mMap.find(handle);
+ if (i == mMap.end()) {
+ return BAD_VALUE;
+ }
+ s = i->second.promote();
+ if (s == nullptr) {
+ // sensor object is already gone
+ return BAD_VALUE;
+ }
}
return f(s);
}
@@ -111,6 +114,7 @@ private:
// available sensor handle space
const std::pair<int, int> mHandleRange;
sensor_t mMetaSensor;
+ bool mMetaSensorActive = false;
// immutable pointer to event callback, used in extention mode.
SensorEventCallback * const mCallback;