| ... | ... | @@ -2623,6 +2623,7 @@ fn batchCancel(userdata: ?*anyopaque, b: *Io.Batch) void { |
| 2623 | 2623 | const metadatas_ptr: [*]WinOpMetadata = @ptrCast(@alignCast(reserved)); |
| 2624 | 2624 | const metadatas = metadatas_ptr[0..b.operations.len]; |
| 2625 | 2625 | for (metadatas, 0..) |*metadata, op| { |
| 2626 | if (!metadata.pending) continue; |
| 2626 | 2627 | const done = @atomicLoad(windows.NTSTATUS, &metadata.iosb.u.Status, .acquire) != .PENDING; |
| 2627 | 2628 | if (done) continue; |
| 2628 | 2629 | switch (operations[op]) { |
| ... | ... | @@ -2633,6 +2634,7 @@ fn batchCancel(userdata: ?*anyopaque, b: *Io.Batch) void { |
| 2633 | 2634 | } |
| 2634 | 2635 | } |
| 2635 | 2636 | for (metadatas) |*metadata| { |
| 2637 | if (!metadata.pending) continue; |
| 2636 | 2638 | while (@atomicLoad(windows.NTSTATUS, &metadata.iosb.u.Status, .acquire) == .PENDING) { |
| 2637 | 2639 | waitForApcOrAlert(); |
| 2638 | 2640 | } |