Prevent event flag use after delete in example HAL
Fixes: 323085916
Test: presubmit
Change-Id: Ia455d7f83ff2b0056593eabf9f91359b97f9fc0b
diff --git a/sensors/aidl/default/include/sensors-impl/Sensors.h b/sensors/aidl/default/include/sensors-impl/Sensors.h
index e270d96..2adbc9d 100644
--- a/sensors/aidl/default/include/sensors-impl/Sensors.h
+++ b/sensors/aidl/default/include/sensors-impl/Sensors.h
@@ -119,6 +119,8 @@
// Utility function to delete the Event Flag
void deleteEventFlag() {
+ // Hold the lock to ensure we don't delete the flag while it's being used in postEvents()
+ std::lock_guard<std::mutex> lock(mWriteLock);
if (mEventQueueFlag != nullptr) {
status_t status = EventFlag::deleteEventFlag(&mEventQueueFlag);
if (status != OK) {