diff options
| author | 2021-07-03 02:22:12 +0000 | |
|---|---|---|
| committer | 2021-07-09 00:32:29 +0000 | |
| commit | 07d35cb7dcb6e078968f72c831de555b060424a3 (patch) | |
| tree | 0a51f5bcde952717e835a767e5f974c144a95da5 /libs/hwui/ProfileDataContainer.h | |
| parent | c701a4c904600cb5457d0ebc2821d7e837e26f96 (diff) | |
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
Diffstat (limited to 'libs/hwui/ProfileDataContainer.h')
| -rw-r--r-- | libs/hwui/ProfileDataContainer.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/hwui/ProfileDataContainer.h b/libs/hwui/ProfileDataContainer.h index a61b8dcf390e..7d1b46c3d678 100644 --- a/libs/hwui/ProfileDataContainer.h +++ b/libs/hwui/ProfileDataContainer.h @@ -37,8 +37,9 @@ public: 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; } |