From 44aabdbcda09555be754d20992e1f8dde919071d Mon Sep 17 00:00:00 2001 From: laytan Date: Sat, 17 Jan 2026 19:22:09 +0100 Subject: [PATCH] nbio(windows): explicitly set entries_removed = 0 when GetQueuedCompletionStatusEx returns false --- core/nbio/impl_windows.odin | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/core/nbio/impl_windows.odin b/core/nbio/impl_windows.odin index 4610d4754..2ff391a23 100644 --- a/core/nbio/impl_windows.odin +++ b/core/nbio/impl_windows.odin @@ -183,8 +183,12 @@ __tick :: proc(l: ^Event_Loop, timeout: time.Duration) -> (err: General_Error) { events: [QUEUE_SIZE]win.OVERLAPPED_ENTRY entries_removed: win.ULONG if !win.GetQueuedCompletionStatusEx(l.iocp, &events[0], len(events), &entries_removed, actual_timeout, false) { - if terr := win.GetLastError(); terr != win.WAIT_TIMEOUT { - err = General_Error(terr) + winerr := win.GetLastError() + switch winerr { + case win.WAIT_TIMEOUT: + entries_removed = 0 + case: + err = General_Error(winerr) return } }