2020-09-09 00:45:46 -05:00
|
|
|
#ifndef STORM_THREAD_S_CRIT_SECT_HPP
|
|
|
|
|
#define STORM_THREAD_S_CRIT_SECT_HPP
|
|
|
|
|
|
2020-12-02 20:04:02 -06:00
|
|
|
#if defined(WHOA_SYSTEM_WIN)
|
2020-11-30 23:42:14 -06:00
|
|
|
#include <windows.h>
|
|
|
|
|
#endif
|
|
|
|
|
|
2020-12-02 20:04:02 -06:00
|
|
|
#if defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
|
2020-09-09 00:45:46 -05:00
|
|
|
#include <pthread.h>
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
class SCritSect {
|
|
|
|
|
public:
|
|
|
|
|
// Member variables
|
2020-12-02 20:04:02 -06:00
|
|
|
#if defined(WHOA_SYSTEM_WIN)
|
2020-09-09 00:45:46 -05:00
|
|
|
CRITICAL_SECTION m_opaqueData;
|
|
|
|
|
#endif
|
|
|
|
|
|
2020-12-02 20:04:02 -06:00
|
|
|
#if defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX)
|
2020-09-09 00:45:46 -05:00
|
|
|
pthread_mutex_t m_mutex;
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
// Member functions
|
2022-12-28 15:43:57 -06:00
|
|
|
SCritSect();
|
2022-12-28 15:54:37 -06:00
|
|
|
~SCritSect();
|
2022-12-28 17:27:23 -06:00
|
|
|
void Enter();
|
|
|
|
|
void Leave();
|
2020-09-09 00:45:46 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|