feat(thread): add CCritSect

This commit is contained in:
fallenoak 2023-03-26 23:07:48 -05:00 committed by GitHub
parent 368c2f16c2
commit a500c34d45
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 90 additions and 0 deletions

View file

@ -0,0 +1,31 @@
#ifndef STORM_THREAD_C_CRIT_SECT_HPP
#define STORM_THREAD_C_CRIT_SECT_HPP
#if defined(WHOA_SYSTEM_WIN)
#include <windows.h>
#endif
#if defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
#include <pthread.h>
#endif
class CCritSect {
public:
// Member functions
CCritSect();
~CCritSect();
void Enter();
void Leave();
private:
// Member variables
#if defined(WHOA_SYSTEM_WIN)
CRITICAL_SECTION m_critsect;
#endif
#if defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
pthread_mutex_t m_critsect;
#endif
};
#endif