Properly protect mFrameMetricsReporter
This field actually requires a special lock, mFrameMetricsReporterMutex.
But there isn't a GUARDED_BY annotation for it. And even if there was,
the compiler feature of -Wthread-safety was not active in this code, so
this error would not have been caught.
To fix this, enable the compiler annotation and add GUARDED_BY
annotation to mFrameMetricsReporter.
And finally, use this lock to properly protect this field.
Bug: 192330836
Test: atest hwui_unit_tests
Change-Id: I76950bfa01bbd7ccdc54c4e8c114430b5aeddf1a
diff --git a/libs/hwui/ProfileDataContainer.h b/libs/hwui/ProfileDataContainer.h
index a61b8dc..7d1b46c 100644
--- a/libs/hwui/ProfileDataContainer.h
+++ b/libs/hwui/ProfileDataContainer.h
@@ -37,8 +37,9 @@
void rotateStorage();
void switchStorageToAshmem(int ashmemfd);
- ProfileData* get() { return mData; }
- ProfileData* operator->() { return mData; }
+ ProfileData* get() NO_THREAD_SAFETY_ANALYSIS { return mData; }
+
+ ProfileData* operator->() NO_THREAD_SAFETY_ANALYSIS { return mData; }
std::mutex& getDataMutex() { return mJankDataMutex; }