diff options
| author | laytan <laytanlaats@hotmail.com> | 2026-01-17 21:06:13 +0100 |
|---|---|---|
| committer | laytan <laytanlaats@hotmail.com> | 2026-01-17 21:06:13 +0100 |
| commit | 2caee687ed76b5ae883444bab67c0c1a157f25df (patch) | |
| tree | 995db59921b0860f73211c9b9bebe6486a839721 /core/sys | |
| parent | 3a3ed48fae8c7d38f7af1fce39343b2302fd5639 (diff) | |
nbio(windows): use one IOCP for all event loops
Diffstat (limited to 'core/sys')
| -rw-r--r-- | core/sys/windows/kernel32.odin | 4 | ||||
| -rw-r--r-- | core/sys/windows/types.odin | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/core/sys/windows/kernel32.odin b/core/sys/windows/kernel32.odin index dc76cb037..07f34bed2 100644 --- a/core/sys/windows/kernel32.odin +++ b/core/sys/windows/kernel32.odin @@ -32,6 +32,8 @@ EV_TXEMPTY :: DWORD(0x0004) WAITORTIMERCALLBACK :: #type proc "system" (lpParameter: PVOID, TimerOrWaitFired: BOOLEAN) +PAPCFUNC :: #type proc "system" (Parameter: ULONG_PTR) + WT_EXECUTEDEFAULT :: 0x00000000 WT_EXECUTEINIOTHREAD :: 0x00000001 WT_EXECUTEINPERSISTENTTHREAD :: 0x00000080 @@ -596,6 +598,8 @@ foreign kernel32 { ) -> BOOL --- UnregisterWaitEx :: proc(WaitHandle: HANDLE, CompletionEvent: HANDLE) -> BOOL --- + + QueueUserAPC :: proc(pfnAPC: PAPCFUNC, hThread: HANDLE, dwData: ULONG_PTR) -> DWORD --- } DEBUG_PROCESS :: 0x00000001 diff --git a/core/sys/windows/types.odin b/core/sys/windows/types.odin index 0d8854724..f3f581844 100644 --- a/core/sys/windows/types.odin +++ b/core/sys/windows/types.odin @@ -2726,6 +2726,8 @@ WAIT_OBJECT_0 : DWORD : 0x00000000 WAIT_TIMEOUT : DWORD : 258 WAIT_FAILED : DWORD : 0xFFFFFFFF +WAIT_IO_COMPLETION: DWORD : 0x000000C0 + FILE_FLAG_WRITE_THROUGH : DWORD : 0x80000000 FILE_FLAG_OVERLAPPED : DWORD : 0x40000000 FILE_FLAG_NO_BUFFERING : DWORD : 0x20000000 |