ReaderWriterLockImpl.h 570 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include "os/Mutex.h"
  3. namespace il2cpp
  4. {
  5. namespace os
  6. {
  7. class ReaderWriterLockImpl
  8. {
  9. public:
  10. void LockExclusive()
  11. {
  12. m_Mutex.Lock();
  13. }
  14. void LockShared()
  15. {
  16. m_Mutex.Lock();
  17. }
  18. void ReleaseExclusive()
  19. {
  20. m_Mutex.Unlock();
  21. }
  22. void ReleaseShared()
  23. {
  24. m_Mutex.Unlock();
  25. }
  26. FastMutex* GetOSHandle()
  27. {
  28. return &m_Mutex;
  29. }
  30. private:
  31. FastMutex m_Mutex;
  32. };
  33. }
  34. }