Add synchronization when EventFlagQueue is created in sensors HAL init

Bug: 380191409
Test: atest VtsAidlHalSensorsTargetTest:Sensors/SensorsAidlTest#CleanupConnectionsOnInitialize/0_android_hardware_sensors_ISensors_default --rerun-until-failure=200 pass

Change-Id: Ia22cf0278acb7e1b7cc62a75926ffc5aa47610eb
diff --git a/sensors/aidl/default/Sensors.cpp b/sensors/aidl/default/Sensors.cpp
index 9e6bea5..853045d 100644
--- a/sensors/aidl/default/Sensors.cpp
+++ b/sensors/aidl/default/Sensors.cpp
@@ -85,9 +85,6 @@
     ALOGI("Sensors initializing");
     ScopedAStatus result = ScopedAStatus::ok();
 
-    mEventQueue = std::make_unique<AidlMessageQueue<Event, SynchronizedReadWrite>>(
-            in_eventQueueDescriptor, true /* resetPointers */);
-
     // Ensure that all sensors are disabled.
     for (auto sensor : mSensors) {
         sensor.second->activate(false);
@@ -106,6 +103,9 @@
         // Hold the lock to ensure that re-creation of event flag is atomic
         std::lock_guard<std::mutex> lock(mWriteLock);
 
+        mEventQueue = std::make_unique<AidlMessageQueue<Event, SynchronizedReadWrite>>(
+                in_eventQueueDescriptor, true /* resetPointers */);
+
         // Ensure that any existing EventFlag is properly deleted
         deleteEventFlagLocked();