Define RCPPUTILS_TSA_EXCLUDES
Defined in File thread_safety_annotations.hpp
Define Documentation
-
RCPPUTILS_TSA_EXCLUDES(...)
attribute prevents deadlock, by making sure that a mutex is not held.
However, EXCLUDES is an optional attribute, and does not provide the same safety guarantee as RCPPUTILS_TSA_REQUIRES. In particular:
A function which acquires a capability does not have to exclude it.
A function which calls a function that excludes a capability does not have transitively
exclude that capability. https://clang.llvm.org/docs/ThreadSafetyAnalysis.html#negative-capabilities