Skip to content

Commit 39dd7ff

Browse files
committed
Error fix from enabling Clang thread-safety checks in Cuttlefish
Cherry-pick from ag/29553430 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: m out/soong/.intermediates/frameworks/native/services/surfaceflinger/tests/unittests/libsurfaceflinger_unittest/android_x86_silvermont/obj/frameworks/native/services/surfaceflinger/tests/unittests/CommitTest.o Change-Id: I60ce371be590f97ced8f21a5aae3da49faaf64ca Merged-In: I9be1254c3e2685b0aa950b314c581824f40ce26c
1 parent 984d7ac commit 39dd7ff

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -516,8 +516,10 @@ class TestableSurfaceFlinger {
516516
return mFlinger->SurfaceFlinger::getDisplayNativePrimaries(displayToken, primaries);
517517
}
518518

519-
auto& getTransactionQueue() { return mFlinger->mTransactionHandler.mLocklessTransactionQueue; }
520-
auto& getPendingTransactionQueue() {
519+
auto& getTransactionQueue() NO_THREAD_SAFETY_ANALYSIS {
520+
return mFlinger->mTransactionHandler.mLocklessTransactionQueue;
521+
}
522+
auto& getPendingTransactionQueue() NO_THREAD_SAFETY_ANALYSIS {
521523
ftl::FakeGuard guard(kMainThreadContext);
522524
return mFlinger->mTransactionHandler.mPendingTransactionQueues;
523525
}
@@ -706,7 +708,9 @@ class TestableSurfaceFlinger {
706708

707709
auto& mutableMinAcquiredBuffers() { return SurfaceFlinger::minAcquiredBuffers; }
708710
auto& mutableLayersPendingRemoval() { return mFlinger->mLayersPendingRemoval; }
709-
auto& mutableLayerSnapshotBuilder() { return mFlinger->mLayerSnapshotBuilder; };
711+
auto& mutableLayerSnapshotBuilder() NO_THREAD_SAFETY_ANALYSIS {
712+
return mFlinger->mLayerSnapshotBuilder;
713+
}
710714

711715
auto fromHandle(const sp<IBinder>& handle) { return LayerHandle::getLayer(handle); }
712716

0 commit comments

Comments
 (0)