power_play/src/base/base_win32/base_win32_futex.c

28 lines
687 B
C

////////////////////////////////////////////////////////////
//~ @hookimpl Not-equal futex ops
void FutexYieldNeq(volatile void *addr, void *cmp, u8 cmp_size)
{
WaitOnAddress(addr, cmp, cmp_size, INFINITE);
}
void FutexWakeNeq(void *addr)
{
WakeByAddressAll(addr);
}
////////////////////////////////////////////////////////////
//~ @hookimpl Greater-than-or-equal futex ops
void FutexYieldGte(volatile void *addr, void *cmp, u8 cmp_size)
{
/* TODO: Actually implement this. Just emulating via neq for now. */
FutexYieldNeq(addr, cmp, cmp_size);
}
void FutexWakeGte(void *addr)
{
/* TODO: Actually implement this. Just emulating via neq for now. */
FutexWakeNeq(addr);
}