feat(thread): add CSRWLock

This commit is contained in:
fallenoak 2020-11-01 23:13:02 -06:00
parent 3b9f061244
commit 26d78adf7a
No known key found for this signature in database
GPG key ID: 7628F8E61AEA070D
3 changed files with 52 additions and 0 deletions

26
storm/thread/CSRWLock.hpp Normal file
View file

@ -0,0 +1,26 @@
#ifndef STORM_THREAD_CS_RW_LOCK_HPP
#define STORM_THREAD_CS_RW_LOCK_HPP
#include <cstdint>
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX)
#include <pthread.h>
#endif
class CSRWLock {
public:
// Member variables
#ifdef PLATFORM_WIN
char m_opaqueData[12];
#endif
#if defined(PLATFORM_MAC) || defined(PLATFORM_LINUX)
pthread_rwlock_t m_lock;
#endif
// Member functions
void Enter(int32_t forwriting);
void Leave(int32_t fromwriting);
};
#endif