Kinc to Kore

This commit is contained in:
Gorochu
2026-06-09 13:00:08 -07:00
parent 7558d03739
commit c24828f11d
895 changed files with 0 additions and 0 deletions

View File

@ -0,0 +1,35 @@
#include <kinc/threads/fiber.h>
VOID WINAPI fiber_func(LPVOID param) {
#ifndef KINC_WINDOWSAPP
kinc_fiber_t *fiber = (kinc_fiber_t *)param;
fiber->impl.func(fiber->impl.param);
#endif
}
void kinc_fiber_init_current_thread(kinc_fiber_t *fiber) {
#ifndef KINC_WINDOWSAPP
fiber->impl.fiber = ConvertThreadToFiber(NULL);
#endif
}
void kinc_fiber_init(kinc_fiber_t *fiber, void (*func)(void *param), void *param) {
#ifndef KINC_WINDOWSAPP
fiber->impl.func = func;
fiber->impl.param = param;
fiber->impl.fiber = CreateFiber(0, fiber_func, fiber);
#endif
}
void kinc_fiber_destroy(kinc_fiber_t *fiber) {
#ifndef KINC_WINDOWSAPP
DeleteFiber(fiber->impl.fiber);
fiber->impl.fiber = NULL;
#endif
}
void kinc_fiber_switch(kinc_fiber_t *fiber) {
#ifndef KINC_WINDOWSAPP
SwitchToFiber(fiber->impl.fiber);
#endif
}