rodecomp/Source/Utility/Threading/CSyncObject.h
ragnarok-clanker 1d0e5dc05e Maintenance: Add mandatory field offset markers /* XXXX */ and assertions to Utility headers (Async, Math, Threading)
Batch #1057 by ragnarok-clanker: no function's compiled code changes; checked with 75 compiled unit(s), including every includer of Source/Utility/Async/AsyncDiagnostic.h, Source/Utility/Async/NAsyncWorkQueue.h, Source/Utility/Async/NMessageQueue.h, Source/Utility/Async/NRecycleObjectPoolMgr.h, Source/Utility/Math/AffineMatrix.h, Source/Utility/Threading/CSyncObject.h, Source/Utility/Threading/NSyncObject.h.
2026-10-27 13:40:06 +00:00

29 lines
677 B
C++

#ifndef RAGNAROK_SOURCE_UTILITY_THREADING_CSYNCOBJECT_H
#define RAGNAROK_SOURCE_UTILITY_THREADING_CSYNCOBJECT_H
#include <windows.h>
class CSyncObject {
public:
explicit CSyncObject(CRITICAL_SECTION* criticalSection);
virtual ~CSyncObject();
private:
/* 0004 */ CRITICAL_SECTION* m_criticalSection;
};
// INLINED
inline CSyncObject::CSyncObject(CRITICAL_SECTION* criticalSection) : m_criticalSection(criticalSection) {
EnterCriticalSection(this->m_criticalSection);
}
// INLINED
inline CSyncObject::~CSyncObject() {
LeaveCriticalSection(this->m_criticalSection);
}
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CSyncObject) == 8);
#endif
#endif