8#ifndef SkSharedLock_DEFINED
9#define SkSharedLock_DEFINED
53 std::unique_ptr<ThreadIDSet> fCurrentShared;
54 std::unique_ptr<ThreadIDSet> fWaitingExclusive;
55 std::unique_ptr<ThreadIDSet> fWaitingShared;
56 int fSharedQueueSelect{0};
61 std::atomic<int32_t> fQueueCounts;
68inline void SkSharedMutex::assertHeld()
const {}
69inline void SkSharedMutex::assertHeldShared()
const {}
class SK_CAPABILITY("mutex") SkSharedMutex
#define SK_SCOPED_CAPABILITY
#define SK_RELEASE_CAPABILITY(...)
#define SK_ASSERT_SHARED_CAPABILITY(x)
#define SK_RELEASE_SHARED_CAPABILITY(...)
#define SK_ACQUIRE_SHARED(...)
#define SK_ASSERT_CAPABILITY(x)
~SkAutoSharedMutexExclusive() SK_RELEASE_CAPABILITY()
SkAutoSharedMutexExclusive(SkSharedMutex &lock) SK_ACQUIRE(lock)
SkAutoSharedMutexShared(SkSharedMutex &lock) SK_ACQUIRE_SHARED(lock)
~SkAutoSharedMutexShared() SK_RELEASE_CAPABILITY()