Fix deadlock in cuttlefish/default implementation
Bug: 150830099
Test: atest LocationManagerFineTest#testRegisterGnssMeasurementsCallback
-c --iterations 100
Change-Id: I70aec19a481781d924ed3008765ca624a7eeb950
diff --git a/gnss/2.0/default/GnssMeasurement.h b/gnss/2.0/default/GnssMeasurement.h
index d8ffd59..151456c 100644
--- a/gnss/2.0/default/GnssMeasurement.h
+++ b/gnss/2.0/default/GnssMeasurement.h
@@ -61,10 +61,12 @@
void stop();
void reportMeasurement(const GnssData&);
+ // Guarded by mMutex
static sp<IGnssMeasurementCallback> sCallback;
std::atomic<long> mMinIntervalMillis;
std::atomic<bool> mIsActive;
std::thread mThread;
+ // Synchronization lock for sCallback
mutable std::mutex mMutex;
};