MaybeCheckNotHeld

MaybeCheckNotHeld overloads

Synopses

Declared in <sync.h>

Require negative capability on a Mutex before locking it and pass it through.

[[requires_capability(0x7fbc8c930888), lock_returned(cs), requires_capability(0x7fbca3a55aa8), requires_capability(0x7fbc9c84bdc8), requires_capability(0x7fbca0a19b88), requires_capability(0x7fbc9cdfce18), requires_capability(0x7fbc921af7a8), requires_capability(0x7fbc92454fa8), requires_capability(0x7fbca10ea088), requires_capability(0x7fbc8d3486e8), requires_capability(0x7fbc85fdf5b8), requires_capability(0x7fbc96015698), requires_capability(0x7fbca7b38ea8), requires_capability(0x7fbcada57d68), requires_capability(0x7fbca09be668), requires_capability(0x7fbca6e1d528), requires_capability(0x7fbca3014658), requires_capability(0x7fbcaeef97b8), requires_capability(0x7fbc7522a588), requires_capability(0x7fbcac443218), requires_capability(0x7fbca4461a38), requires_capability(0x7fbc9eec3408), requires_capability(0x7fbc84cb49e8), requires_capability(0x7fbca65f0ff8), requires_capability(0x7fbc93d3e1b8), requires_capability(0x7fbc74bd5cb8), requires_capability(0x7fbc87e95328), requires_capability(0x7fbc9fb48cd8), requires_capability(0x7fbc94f08928), requires_capability(0x7fbc748d3cb8), requires_capability(0x7fbcadd4bfc8), requires_capability(0x7fbc9048fb38), requires_capability(0x7fbca57f6458), requires_capability(0x7fbc87ebcf58), requires_capability(0x7fbc88210bd8), requires_capability(0x7fbca0b77ae8), requires_capability(0x7fbca7cfd0e8), requires_capability(0x7fbca758ab78), requires_capability(0x7fbc840094d8), requires_capability(0x7fbc800882b8), requires_capability(0x7fbcae397d98), requires_capability(0x7fbc9e4b6638), requires_capability(0x7fbc9513d708), requires_capability(0x7fbcaecf3b58), requires_capability(0x7fbcad71d798), requires_capability(0x7fbc9f8bf418), requires_capability(0x7fbc8d7c3b58), requires_capability(0x7fbc9e946be8), requires_capability(0x7fbcac4d98a8), requires_capability(0x7fbca51c4e18), requires_capability(0x7fbca01d48f8), requires_capability(0x7fbc96c68c88), requires_capability(0x7fbca53f0228), requires_capability(0x7fbc9d41fd98), requires_capability(0x7fbca6ebb2e8), requires_capability(0x7fbc88832958), requires_capability(0x7fbca1c98ea8), requires_capability(0x7fbc9d8cfca8), requires_capability(0x7fbca73f75b8), requires_capability(0x7fbca2725308), requires_capability(0x7fbcaea809a8), requires_capability(0x7fbc9d30a238), requires_capability(0x7fbca1f29098), requires_capability(0x7fbcac307a58), requires_capability(0x7fbc74093738), requires_capability(0x7fbc9e8d9d78), requires_capability(0x7fbca1b1c228), requires_capability(0x7fbc87926208), requires_capability(0x7fbca77c9a98), requires_capability(0x7fbca1020788), requires_capability(0x7fbc8faac828), requires_capability(0x7fbc84f8eb18), requires_capability(0x7fbc8d7bb058), requires_capability(0x7fbc93791b58), requires_capability(0x7fbcacc40cc8), requires_capability(0x7fbc9273c478), requires_capability(0x7fbc941987b8), requires_capability(0x7fbca56d54f8), requires_capability(0x7fbc805142c8), requires_capability(0x7fbca37e5358)]]
Mutex&
MaybeCheckNotHeld(Mutex& cs);
» more...

Require negative capability on a Mutex before locking it and pass it through.

[[requires_capability(0x7fbc8c930d70), lock_returned(cs), requires_capability(0x7fbca3a55f90), requires_capability(0x7fbc9c84c2b0), requires_capability(0x7fbca0a1a070), requires_capability(0x7fbc9cdfd300), requires_capability(0x7fbc921afc90), requires_capability(0x7fbc92455490), requires_capability(0x7fbca10ea570), requires_capability(0x7fbc8d348bd0), requires_capability(0x7fbc85fdfaa0), requires_capability(0x7fbc96015b80), requires_capability(0x7fbca7b39390), requires_capability(0x7fbcada58250), requires_capability(0x7fbca09beb50), requires_capability(0x7fbca6e1da10), requires_capability(0x7fbca3014b40), requires_capability(0x7fbcaeef9ca0), requires_capability(0x7fbc7522aa70), requires_capability(0x7fbcac443700), requires_capability(0x7fbca4461f20), requires_capability(0x7fbc9eec38f0), requires_capability(0x7fbc84cb4ed0), requires_capability(0x7fbca65f14e0), requires_capability(0x7fbc93d3e6a0), requires_capability(0x7fbc74bd61a0), requires_capability(0x7fbc87e95810), requires_capability(0x7fbc9fb491c0), requires_capability(0x7fbc94f08e10), requires_capability(0x7fbc748d41a0), requires_capability(0x7fbcadd4c4b0), requires_capability(0x7fbc90490020), requires_capability(0x7fbca57f6940), requires_capability(0x7fbc87ebd440), requires_capability(0x7fbc882110c0), requires_capability(0x7fbca0b77fd0), requires_capability(0x7fbca7cfd5d0), requires_capability(0x7fbca758b060), requires_capability(0x7fbc840099c0), requires_capability(0x7fbc800887a0), requires_capability(0x7fbcae398280), requires_capability(0x7fbc9e4b6b20), requires_capability(0x7fbc9513dbf0), requires_capability(0x7fbcaecf4040), requires_capability(0x7fbcad71dc80), requires_capability(0x7fbc9f8bf900), requires_capability(0x7fbc8d7c4040), requires_capability(0x7fbc9e9470d0), requires_capability(0x7fbcac4d9d90), requires_capability(0x7fbca51c5300), requires_capability(0x7fbca01d4de0), requires_capability(0x7fbc96c69170), requires_capability(0x7fbca53f0710), requires_capability(0x7fbc9d420280), requires_capability(0x7fbca6ebb7d0), requires_capability(0x7fbc88832e40), requires_capability(0x7fbca1c99390), requires_capability(0x7fbc9d8d0190), requires_capability(0x7fbca73f7aa0), requires_capability(0x7fbca27257f0), requires_capability(0x7fbcaea80e90), requires_capability(0x7fbc9d30a720), requires_capability(0x7fbca1f29580), requires_capability(0x7fbcac307f40), requires_capability(0x7fbc74093c20), requires_capability(0x7fbc9e8da260), requires_capability(0x7fbca1b1c710), requires_capability(0x7fbc879266f0), requires_capability(0x7fbca77c9f80), requires_capability(0x7fbca1020c70), requires_capability(0x7fbc8faacd10), requires_capability(0x7fbc84f8f000), requires_capability(0x7fbc8d7bb540), requires_capability(0x7fbc93792040), requires_capability(0x7fbcacc411b0), requires_capability(0x7fbc9273c960), requires_capability(0x7fbc94198ca0), requires_capability(0x7fbca56d59e0), requires_capability(0x7fbc805147b0), requires_capability(0x7fbca37e5840)]]
Mutex*
MaybeCheckNotHeld(Mutex* cs);
» more...

Check a GlobalMutex or RecursiveMutex is not held in scope and pass it through.

template<typename MutexType>
[[locks_excluded(0x7fbc8c931258), lock_returned(m), locks_excluded(0x7fbca3a56478), locks_excluded(0x7fbc9c84c798), locks_excluded(0x7fbca0a1a558), locks_excluded(0x7fbc9cdfd7e8), locks_excluded(0x7fbc921b0178), locks_excluded(0x7fbc92455978), locks_excluded(0x7fbca10eaa58), locks_excluded(0x7fbc8d3490b8), locks_excluded(0x7fbc85fdff88), locks_excluded(0x7fbc96016068), locks_excluded(0x7fbca7b39878), locks_excluded(0x7fbcada58738), locks_excluded(0x7fbca09bf038), locks_excluded(0x7fbca6e1def8), locks_excluded(0x7fbca1b1fbf8), locks_excluded(0x7fbcaeefa188), locks_excluded(0x7fbc7522af58), locks_excluded(0x7fbcac443be8), locks_excluded(0x7fbca4462408), locks_excluded(0x7fbc9eec3dd8), locks_excluded(0x7fbc84cb53b8), locks_excluded(0x7fbca65f19c8), locks_excluded(0x7fbc93d3eb88), locks_excluded(0x7fbc74bd6688), locks_excluded(0x7fbc87e95cf8), locks_excluded(0x7fbc9fb496a8), locks_excluded(0x7fbc94f092f8), locks_excluded(0x7fbc748d4688), locks_excluded(0x7fbcadd4c998), locks_excluded(0x7fbc90490508), locks_excluded(0x7fbca57f6e28), locks_excluded(0x7fbc87ebd928), locks_excluded(0x7fbc882115a8), locks_excluded(0x7fbca0b784b8), locks_excluded(0x7fbca7cfdab8), locks_excluded(0x7fbca758b548), locks_excluded(0x7fbc84009ea8), locks_excluded(0x7fbc80088c88), locks_excluded(0x7fbcae398768), locks_excluded(0x7fbc9e4b7008), locks_excluded(0x7fbc9513e0d8), locks_excluded(0x7fbcaecf4528), locks_excluded(0x7fbcad71e168), locks_excluded(0x7fbc9f8bfde8), locks_excluded(0x7fbc8d7c4528), locks_excluded(0x7fbc9e9475b8), locks_excluded(0x7fbcac4da278), locks_excluded(0x7fbca51c57e8), locks_excluded(0x7fbca01d52c8), locks_excluded(0x7fbc96c69658), locks_excluded(0x7fbca53f0bf8), locks_excluded(0x7fbc9d420768), locks_excluded(0x7fbca6ebbcb8), locks_excluded(0x7fbc88833328), locks_excluded(0x7fbca1c99878), locks_excluded(0x7fbc9d8d0678), locks_excluded(0x7fbca73f7f88), locks_excluded(0x7fbca2725cd8), locks_excluded(0x7fbcaea81378), locks_excluded(0x7fbc9d30ac08), locks_excluded(0x7fbca1f29a68), locks_excluded(0x7fbcac308428), locks_excluded(0x7fbc74094108), locks_excluded(0x7fbc9e8da748), locks_excluded(0x7fbca1b1cbf8), locks_excluded(0x7fbc87926bd8), locks_excluded(0x7fbca77ca468), locks_excluded(0x7fbca1021158), locks_excluded(0x7fbc8faad1f8), locks_excluded(0x7fbc84f8f4e8), locks_excluded(0x7fbc8d7bba28), locks_excluded(0x7fbc93792528), locks_excluded(0x7fbcacc41698), locks_excluded(0x7fbc9273ce48), locks_excluded(0x7fbc94199188), locks_excluded(0x7fbca56d5ec8), locks_excluded(0x7fbc80514c98), locks_excluded(0x7fbca37e5d28)]]
MutexType&
MaybeCheckNotHeld(MutexType& m);
» more...

Check a GlobalMutex or RecursiveMutex is not held in scope and pass it through.

template<typename MutexType>
[[locks_excluded(0x7fbc8c931748), lock_returned(m), locks_excluded(0x7fbca3a56968), locks_excluded(0x7fbc9c84cc88), locks_excluded(0x7fbca0a1aa48), locks_excluded(0x7fbc9cdfdcd8), locks_excluded(0x7fbc921b0668), locks_excluded(0x7fbc92455e68), locks_excluded(0x7fbca10eaf48), locks_excluded(0x7fbc8d3495a8), locks_excluded(0x7fbc85fe0478), locks_excluded(0x7fbc96016558), locks_excluded(0x7fbca7b39d68), locks_excluded(0x7fbcada58c28), locks_excluded(0x7fbca09bf528), locks_excluded(0x7fbca6e1e3e8), locks_excluded(0x7fbca1b200e8), locks_excluded(0x7fbcaeefa678), locks_excluded(0x7fbc7522b448), locks_excluded(0x7fbcac4440d8), locks_excluded(0x7fbca44628f8), locks_excluded(0x7fbc9eec42c8), locks_excluded(0x7fbc84cb58a8), locks_excluded(0x7fbca65f1eb8), locks_excluded(0x7fbc93d3f078), locks_excluded(0x7fbc74bd6b78), locks_excluded(0x7fbc87e961e8), locks_excluded(0x7fbc9fb49b98), locks_excluded(0x7fbc94f097e8), locks_excluded(0x7fbc748d4b78), locks_excluded(0x7fbcadd4ce88), locks_excluded(0x7fbc904909f8), locks_excluded(0x7fbca57f7318), locks_excluded(0x7fbc87ebde18), locks_excluded(0x7fbc88211a98), locks_excluded(0x7fbca0b789a8), locks_excluded(0x7fbca7cfdfa8), locks_excluded(0x7fbca758ba38), locks_excluded(0x7fbc8400a398), locks_excluded(0x7fbc80089178), locks_excluded(0x7fbcae398c58), locks_excluded(0x7fbc9e4b74f8), locks_excluded(0x7fbc9513e5c8), locks_excluded(0x7fbcaecf4a18), locks_excluded(0x7fbcad71e658), locks_excluded(0x7fbc9f8c02d8), locks_excluded(0x7fbc8d7c4a18), locks_excluded(0x7fbc9e947aa8), locks_excluded(0x7fbcac4da768), locks_excluded(0x7fbca51c5cd8), locks_excluded(0x7fbca01d57b8), locks_excluded(0x7fbc96c69b48), locks_excluded(0x7fbca53f10e8), locks_excluded(0x7fbc9d420c58), locks_excluded(0x7fbca6ebc1a8), locks_excluded(0x7fbc88833818), locks_excluded(0x7fbca1c99d68), locks_excluded(0x7fbc9d8d0b68), locks_excluded(0x7fbca73f8478), locks_excluded(0x7fbca27261c8), locks_excluded(0x7fbcaea81868), locks_excluded(0x7fbc9d30b0f8), locks_excluded(0x7fbca1f29f58), locks_excluded(0x7fbcac308918), locks_excluded(0x7fbc740945f8), locks_excluded(0x7fbc9e8dac38), locks_excluded(0x7fbca1b1d0e8), locks_excluded(0x7fbc879270c8), locks_excluded(0x7fbca77ca958), locks_excluded(0x7fbca1021648), locks_excluded(0x7fbc8faad6e8), locks_excluded(0x7fbc84f8f9d8), locks_excluded(0x7fbc8d7bbf18), locks_excluded(0x7fbc93792a18), locks_excluded(0x7fbcacc41b88), locks_excluded(0x7fbc9273d338), locks_excluded(0x7fbc94199678), locks_excluded(0x7fbca56d63b8), locks_excluded(0x7fbc80515188), locks_excluded(0x7fbca37e6218)]]
MutexType*
MaybeCheckNotHeld(MutexType* m);
» more...

Return Value

  • The same mutex reference.
  • The same mutex pointer.

Parameters

NameDescription
csMutex about to be locked.
mMutex about to be locked.