authorgravatar for hi@whatisaph.onewhatisaphone <hi@whatisaph.one> 2026-08-18 20:15:35-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-08-20 21:53:39+02:00
log9f048108e2774be1fc41c9316273c92780c2c730
tree570fca8fabcbd8da05a5409d8f651fd7cb55fa11
parent6e66f7f2b80b0c12b1a2fc1203bc780dbf89294c

Give pollfd.revents a default value

The poll syscall only writes this field, never reads it

6 files changed, 5 insertions(+), 14 deletions(-)

lib/compiler/Maker/Watch.zig-1
......@@ -233,7 +233,6 @@ const Os = switch (builtin.os.tag) {
233233 fd_gop.value_ptr.* = .{
234234 .fd = fan_fd,
235235 .events = std.posix.POLL.IN,
236 .revents = undefined,
237236 };
238237 }
239238 break :blk fd_gop.value_ptr.*.fd;
lib/std/Io/Threaded.zig-8
......@@ -2618,7 +2618,6 @@ fn batchAwaitAsync(userdata: ?*anyopaque, b: *Io.Batch) Io.Cancelable!void {
26182618 poll_buffer[poll_len] = .{
26192619 .fd = o.file.handle,
26202620 .events = posix.POLL.IN | posix.POLL.ERR,
2621 .revents = 0,
26222621 };
26232622 poll_len += 1;
26242623 },
......@@ -2626,7 +2625,6 @@ fn batchAwaitAsync(userdata: ?*anyopaque, b: *Io.Batch) Io.Cancelable!void {
26262625 poll_buffer[poll_len] = .{
26272626 .fd = o.file.handle,
26282627 .events = posix.POLL.OUT | posix.POLL.ERR,
2629 .revents = 0,
26302628 };
26312629 poll_len += 1;
26322630 },
......@@ -2634,7 +2632,6 @@ fn batchAwaitAsync(userdata: ?*anyopaque, b: *Io.Batch) Io.Cancelable!void {
26342632 poll_buffer[poll_len] = .{
26352633 .fd = o.file.handle,
26362634 .events = posix.POLL.OUT | posix.POLL.IN | posix.POLL.ERR,
2637 .revents = 0,
26382635 };
26392636 poll_len += 1;
26402637 },
......@@ -2642,7 +2639,6 @@ fn batchAwaitAsync(userdata: ?*anyopaque, b: *Io.Batch) Io.Cancelable!void {
26422639 poll_buffer[poll_len] = .{
26432640 .fd = o.socket_handle,
26442641 .events = posix.POLL.IN | posix.POLL.ERR,
2645 .revents = 0,
26462642 };
26472643 poll_len += 1;
26482644 },
......@@ -2650,7 +2646,6 @@ fn batchAwaitAsync(userdata: ?*anyopaque, b: *Io.Batch) Io.Cancelable!void {
26502646 poll_buffer[poll_len] = .{
26512647 .fd = o.socket_handle,
26522648 .events = posix.POLL.OUT | posix.POLL.ERR,
2653 .revents = 0,
26542649 };
26552650 poll_len += 1;
26562651 },
......@@ -2658,7 +2653,6 @@ fn batchAwaitAsync(userdata: ?*anyopaque, b: *Io.Batch) Io.Cancelable!void {
26582653 poll_buffer[poll_len] = .{
26592654 .fd = o.socket_handle,
26602655 .events = posix.POLL.IN | posix.POLL.ERR,
2661 .revents = 0,
26622656 };
26632657 poll_len += 1;
26642658 },
......@@ -2666,7 +2660,6 @@ fn batchAwaitAsync(userdata: ?*anyopaque, b: *Io.Batch) Io.Cancelable!void {
26662660 poll_buffer[poll_len] = .{
26672661 .fd = o.socket_handle,
26682662 .events = posix.POLL.OUT | posix.POLL.ERR,
2669 .revents = 0,
26702663 };
26712664 poll_len += 1;
26722665 },
......@@ -2811,7 +2804,6 @@ fn batchAwaitConcurrent(userdata: ?*anyopaque, b: *Io.Batch, timeout: Io.Timeout
28112804 storage.slice[len] = .{
28122805 .fd = fd,
28132806 .events = events,
2814 .revents = 0,
28152807 };
28162808 storage.len = len + 1;
28172809 }
lib/std/c.zig+2-2
......@@ -4303,12 +4303,12 @@ pub const pollfd = switch (native_os) {
43034303 .serenity => extern struct {
43044304 fd: fd_t,
43054305 events: c_short,
4306 revents: c_short,
4306 revents: c_short = undefined,
43074307 },
43084308 else => extern struct {
43094309 fd: fd_t,
43104310 events: i16,
4311 revents: i16,
4311 revents: i16 = undefined,
43124312 },
43134313};
43144314pub const rlim_t = switch (native_os) {
lib/std/os/emscripten.zig+1-1
......@@ -741,7 +741,7 @@ pub const nfds_t = usize;
741741pub const pollfd = extern struct {
742742 fd: fd_t,
743743 events: i16,
744 revents: i16,
744 revents: i16 = undefined,
745745};
746746
747747pub const stack_t = extern struct {
lib/std/os/linux.zig+1-1
......@@ -8108,7 +8108,7 @@ pub const nfds_t = usize;
81088108pub const pollfd = extern struct {
81098109 fd: fd_t,
81108110 events: i16,
8111 revents: i16,
8111 revents: i16 = undefined,
81128112};
81138113
81148114pub const POLL = struct {
lib/std/os/linux/test.zig+1-1
......@@ -423,7 +423,7 @@ test "timerfd" {
423423 else => @panic("test failed"),
424424 }
425425
426 var fds: [1]std.posix.pollfd = .{.{ .fd = tfd, .events = linux.POLL.IN, .revents = 0 }};
426 var fds: [1]std.posix.pollfd = .{.{ .fd = tfd, .events = linux.POLL.IN }};
427427 try expectEqual(@as(usize, 1), try std.posix.poll(&fds, -1)); // -1 => infinite waiting
428428
429429 const git = rc: {