ConditionVariableImpl.h 551 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #if IL2CPP_THREADS_PTHREAD && !RUNTIME_TINY
  3. #include <pthread.h>
  4. #include "utils/NonCopyable.h"
  5. class FastMutexImpl;
  6. namespace il2cpp
  7. {
  8. namespace os
  9. {
  10. class ConditionVariableImpl : public il2cpp::utils::NonCopyable
  11. {
  12. public:
  13. ConditionVariableImpl();
  14. ~ConditionVariableImpl();
  15. int Wait(FastMutexImpl* lock);
  16. int TimedWait(FastMutexImpl* lock, uint32_t timeout_ms);
  17. void Broadcast();
  18. void Signal();
  19. private:
  20. pthread_cond_t m_ConditionVariable;
  21. };
  22. }
  23. }
  24. #endif