authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-24 19:15:40-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-07-24 19:15:40-07:00
loga189335ea2e8750dcfce084eb375417798525351
tree38ee1afb11977474aab0e4fcba3b3536441ab1d6
parent4236ca40cd21895590c580c9a1f56423c2c2f167

zig std: update std.Io.poll API usage

fixes FTBFS

1 files changed, 9 insertions(+), 17 deletions(-)

lib/compiler/std-docs.zig+9-17
...@@ -319,21 +319,17 @@ fn buildWasmBinary(...@@ -319,21 +319,17 @@ fn buildWasmBinary(
319 try sendMessage(child.stdin.?, .update);319 try sendMessage(child.stdin.?, .update);
320 try sendMessage(child.stdin.?, .exit);320 try sendMessage(child.stdin.?, .exit);
321321
322 const Header = std.zig.Server.Message.Header;
323 var result: ?Cache.Path = null;322 var result: ?Cache.Path = null;
324 var result_error_bundle = std.zig.ErrorBundle.empty;323 var result_error_bundle = std.zig.ErrorBundle.empty;
325324
326 const stdout = poller.fifo(.stdout);325 const stdout = poller.reader(.stdout);
327326
328 poll: while (true) {327 poll: while (true) {
329 while (stdout.readableLength() < @sizeOf(Header)) {328 const Header = std.zig.Server.Message.Header;
330 if (!(try poller.poll())) break :poll;329 while (stdout.buffered().len < @sizeOf(Header)) if (!try poller.poll()) break :poll;
331 }330 const header = stdout.takeStruct(Header, .little) catch unreachable;
332 const header = stdout.reader().readStruct(Header) catch unreachable;331 while (stdout.buffered().len < header.bytes_len) if (!try poller.poll()) break :poll;
333 while (stdout.readableLength() < header.bytes_len) {332 const body = stdout.take(header.bytes_len) catch unreachable;
334 if (!(try poller.poll())) break :poll;
335 }
336 const body = stdout.readableSliceOfLen(header.bytes_len);
337333
338 switch (header.tag) {334 switch (header.tag) {
339 .zig_version => {335 .zig_version => {
...@@ -373,15 +369,11 @@ fn buildWasmBinary(...@@ -373,15 +369,11 @@ fn buildWasmBinary(
373 },369 },
374 else => {}, // ignore other messages370 else => {}, // ignore other messages
375 }371 }
376
377 stdout.discard(body.len);
378 }372 }
379373
380 const stderr = poller.fifo(.stderr);374 const stderr = poller.reader(.stderr);
381 if (stderr.readableLength() > 0) {375 if (stderr.bufferedLen() > 0) {
382 const owned_stderr = try stderr.toOwnedSlice();376 std.debug.print("{s}", .{stderr.buffered()});
383 defer gpa.free(owned_stderr);
384 std.debug.print("{s}", .{owned_stderr});
385 }377 }
386378
387 // Send EOF to stdin.379 // Send EOF to stdin.