mirror of
https://github.com/ziglang/zig.git
synced 2025-12-16 11:13:08 +00:00
fix bug when ReadFile returns synchronously in collectOutputWindows
This commit is contained in:
parent
4fddb591e2
commit
2cc33367eb
@ -270,12 +270,14 @@ pub const ChildProcess = struct {
|
|||||||
try buf.ensureTotalCapacity(new_capacity);
|
try buf.ensureTotalCapacity(new_capacity);
|
||||||
const next_buf = buf.unusedCapacitySlice();
|
const next_buf = buf.unusedCapacitySlice();
|
||||||
if (next_buf.len == 0) return .full;
|
if (next_buf.len == 0) return .full;
|
||||||
const read_result = windows.kernel32.ReadFile(handle, next_buf.ptr, math.cast(u32, next_buf.len) catch maxInt(u32), null, overlapped);
|
var read_bytes: u32 = undefined;
|
||||||
|
const read_result = windows.kernel32.ReadFile(handle, next_buf.ptr, math.cast(u32, next_buf.len) catch maxInt(u32), &read_bytes, overlapped);
|
||||||
if (read_result == 0) return switch (windows.kernel32.GetLastError()) {
|
if (read_result == 0) return switch (windows.kernel32.GetLastError()) {
|
||||||
.IO_PENDING => .pending,
|
.IO_PENDING => .pending,
|
||||||
.BROKEN_PIPE => .closed,
|
.BROKEN_PIPE => .closed,
|
||||||
else => |err| windows.unexpectedError(err),
|
else => |err| windows.unexpectedError(err),
|
||||||
};
|
};
|
||||||
|
buf.items.len += read_bytes;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user