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

Commit e4509da9 authored by Josh Gao's avatar Josh Gao
Browse files

base: work around thread safety analysis bug.

Clang's assert_capability and assert_shared_capability annotations are
nonfunctional until https://reviews.llvm.org/rL309725 is relanded and
makes its way into our toolchain. Work around this by using the
equivalent assert_lock and assert_shared_lock.

Bug: http://b/64226736
Test: manual
Change-Id: I40711f162ea1d492f1e0b3eff88bf6ae6d995e2f
parent 420eabe3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -71,11 +71,12 @@
#define EXCLUDES(...) \
      THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(__VA_ARGS__))

// b/64226736: assert_capability and assert_shared_capability are non-functional.
#define ASSERT_CAPABILITY(x) \
      THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x))
      THREAD_ANNOTATION_ATTRIBUTE__(assert_lock(x))

#define ASSERT_SHARED_CAPABILITY(x) \
      THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x))
      THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_lock(x))

#define RETURN_CAPABILITY(x) \
      THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x))