feat: sync with Whoa implementation

This commit is contained in:
VDm 2026-04-26 17:10:11 +04:00
parent 12ab8f7721
commit 6928bf3f0c
46 changed files with 2980 additions and 441 deletions

View file

@ -8,6 +8,14 @@ void SRWLock::SUNNLockLeave(volatile SUNNLOCK* sunnlock) {
// TODO
}
void SRWLock::SURWLockInitialize(volatile SRWLock::SURWLOCK* surwlock) {
// TODO
}
void SRWLock::SURWLockDelete(volatile SRWLock::SURWLOCK* surwlock) {
// TODO
}
void SRWLock::SURWLockEnter(volatile SURWLOCK* surwlock, int32_t forwriting) {
// TODO
}

View file

@ -19,6 +19,8 @@ class SRWLock {
// Static functions
static void SUNNLockEnter(volatile SUNNLOCK* sunnlock);
static void SUNNLockLeave(volatile SUNNLOCK* sunnlock);
static void SURWLockInitialize(volatile SURWLOCK* surwlock);
static void SURWLockDelete(volatile SURWLOCK* surwlock);
static void SURWLockEnter(volatile SURWLOCK* surwlock, int32_t forwriting);
static void SURWLockLeave(volatile SURWLOCK* surwlock, int32_t fromwriting);
};

View file

@ -6,7 +6,7 @@ DWORD WINAPI S_Thread::s_SLaunchThread(void* threadParam) {
auto proc = params->threadProc;
auto param = params->threadParam;
SMemFree(threadParam);
STORM_FREE(threadParam);
auto val = proc(param);

View file

@ -38,8 +38,7 @@ void* SCreateThread(uint32_t (*threadProc)(void*), void* threadParam, void* a3,
*/
}
void* m = SMemAlloc(sizeof(SThreadParmBlock), __FILE__, __LINE__, 0x8);
auto params = new (m) SThreadParmBlock();
auto params = STORM_NEW(SThreadParmBlock);
params->threadProc = threadProc;
params->threadParam = threadParam;