From 7a13d57916aae2840047cc3461aa44c3a72ca546 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 28 Jan 2026 17:59:46 -0800 Subject: [PATCH] std.Io.Threaded: add missing check for pending status in batchCancel --- lib/std/Io/Threaded.zig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/std/Io/Threaded.zig b/lib/std/Io/Threaded.zig index c9c38c6b29..05ff37b76e 100644 --- a/lib/std/Io/Threaded.zig +++ b/lib/std/Io/Threaded.zig @@ -2623,6 +2623,7 @@ fn batchCancel(userdata: ?*anyopaque, b: *Io.Batch) void { const metadatas_ptr: [*]WinOpMetadata = @ptrCast(@alignCast(reserved)); const metadatas = metadatas_ptr[0..b.operations.len]; for (metadatas, 0..) |*metadata, op| { + if (!metadata.pending) continue; const done = @atomicLoad(windows.NTSTATUS, &metadata.iosb.u.Status, .acquire) != .PENDING; if (done) continue; switch (operations[op]) { @@ -2633,6 +2634,7 @@ fn batchCancel(userdata: ?*anyopaque, b: *Io.Batch) void { } } for (metadatas) |*metadata| { + if (!metadata.pending) continue; while (@atomicLoad(windows.NTSTATUS, &metadata.iosb.u.Status, .acquire) == .PENDING) { waitForApcOrAlert(); }