Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7171a46f authored by Liz Prucka's avatar Liz Prucka
Browse files

Error fix from enabling Clang thread-safety checks in aosp_panther

Parent bug: b/353324127. Enabling `thread-safety-reference-return`
to allow developers to utilize Clang thread safety guardrails
(GUARDED_BY, REQUIRES, EXCLUDES).

Added NO_THREAD_SAFETY_ANALYSIS annotations to violating functions.
If this is not desired, please respond with concerns
or preferred fix.

Bug: 354740314
Test: lunch aosp_panther_hwasan-trunk_staging-userdebug && m out/soong/.intermediates/frameworks/native/services/surfaceflinger/tests/unittests/libsurfaceflinger_unittest/android_arm64_armv8-2a_cortex-a55_hwasan/obj/frameworks/native/services/surfaceflinger/tests/unittests/RefreshRateSelectorTest.o
Change-Id: Iaad37f1eee5837ac79ea0551124eca060ff5d514
parent 39dd7ff7
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -100,7 +100,9 @@ struct TestableRefreshRateSelector : RefreshRateSelector {
    const std::vector<Fps>& knownFrameRates() const { return mKnownFrameRates; }

    using RefreshRateSelector::GetRankedFrameRatesCache;
    auto& mutableGetRankedRefreshRatesCache() { return mGetRankedFrameRatesCache; }
    auto& mutableGetRankedRefreshRatesCache() NO_THREAD_SAFETY_ANALYSIS {
        return mGetRankedFrameRatesCache;
    }

    auto getRankedFrameRates(const std::vector<LayerRequirement>& layers,
                             GlobalSignals signals = {}, Fps pacesetterFps = {}) const {
@@ -138,7 +140,9 @@ struct TestableRefreshRateSelector : RefreshRateSelector {
        return setPolicy(policy);
    }

    const auto& getPrimaryFrameRates() const { return mPrimaryFrameRates; }
    const auto& getPrimaryFrameRates() const NO_THREAD_SAFETY_ANALYSIS {
        return mPrimaryFrameRates;
    }
};

class RefreshRateSelectorTest : public testing::TestWithParam<Config::FrameRateOverride> {