squall/storm/thread/SCritSect.hpp

30 lines
539 B
C++
Raw Normal View History

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)
#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
SCritSect();
2020-09-09 00:45:46 -05:00
void Enter(void);
void Leave(void);
};
#endif