8#include <aws/core/Core_EXPORTS.h>
9#include <aws/core/utils/threading/Semaphore.h>
12#include <condition_variable>
55 std::atomic<int64_t> m_readers;
56 std::atomic<int64_t> m_holdouts;
59 std::mutex m_writerLock;
67 m_rwlock.LockReader();
72 m_rwlock.UnlockReader();
73 m_rwlock.LockWriter();
81 m_rwlock.UnlockWriter();
85 m_rwlock.UnlockReader();
101 m_rwlock.LockWriter();
106 m_rwlock.UnlockWriter();
ReaderLockGuard(ReaderWriterLock &rwl)
ReaderLockGuard & operator=(const ReaderLockGuard &)=delete
ReaderLockGuard(const ReaderLockGuard &)=delete
void UpgradeToWriterLock()
WriterLockGuard(ReaderWriterLock &rwl)
WriterLockGuard & operator=(const WriterLockGuard &)=delete
WriterLockGuard(const WriterLockGuard &)=delete