mirror of
https://codeberg.org/ziglang/zig.git
synced 2026-04-27 19:09:47 +03:00
std.Io.Threaded: add missing check for pending status in batchCancel
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user