commit 7a13d57916aae2840047cc3461aa44c3a72ca546 (tree)
parent 687123a85eaac8b7c290b21c346e8aeb8470dfcb
Author: Andrew Kelley <andrew@ziglang.org>
Date: Wed, 28 Jan 2026 17:59:46 -0800
std.Io.Threaded: add missing check for pending status in batchCancel
Diffstat:
1 file changed, 2 insertions(+), 0 deletions(-)
diff --git 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();
}