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) {