class SharedLock
Defined at line 19 of file ../../src/storage/lib/vfs/cpp/shared_mutex.h
Drop-in replacement for std::shared_lock that has thread safety annotations. The current libcxx
implementation does not have these annotations, and thus don't work correctly.
TODO(https://fxbug.dev/361092091): this can be removed replaced with std::shared_lock if we
update to an implementation that is annotated with the correct thread capabilities.
Public Methods
void SharedLock (std::shared_mutex & m)
Defined at line 21 of file ../../src/storage/lib/vfs/cpp/shared_mutex.h
void ~SharedLock ()
It seems like this should be __TA_RELEASE_SHARED instead of __TA_RELEASE but
__TA_RELEASE_SHARED gives errors when a ScopedLock goes out of scope:
releasing mutex using shared access, expected exclusive access
This is probably a compiler bug.
Defined at line 29 of file ../../src/storage/lib/vfs/cpp/shared_mutex.h
void lock ()
Defined at line 31 of file ../../src/storage/lib/vfs/cpp/shared_mutex.h
void unlock ()
Same comment about __TA_RELEASE vs. __TA_RELEASE_SHARED as in the destructor.
Defined at line 33 of file ../../src/storage/lib/vfs/cpp/shared_mutex.h