authorgravatar for reversedrooms@gmail.comxeondev <reversedrooms@gmail.com> 2026-07-01 16:52:34+03:00
committergravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2026-08-09 15:42:33+02:00
logb2c230df5033864a19eb65defceac1cc3013be3c
treeb8b0f29d826f09399ed0621392401c1e97964164
parent821d122c82af499c2a5b2fc0223cf399faa10d16

std.Io: change `netClose` to accept `[]const net.Socket`


6 files changed, 15 insertions(+), 15 deletions(-)

lib/std/Io.zig+3-3
......@@ -238,7 +238,7 @@ pub const VTable = struct {
238238 netSend: *const fn (?*anyopaque, net.Socket.Handle, []net.OutgoingMessage, net.SendFlags) struct { ?net.Socket.SendError, usize },
239239 netWrite: *const fn (?*anyopaque, dest: net.Socket.Handle, header: []const u8, data: []const []const u8, splat: usize) net.Stream.Writer.Error!usize,
240240 netWriteFile: *const fn (?*anyopaque, net.Socket.Handle, header: []const u8, *Io.File.Reader, Io.Limit) net.Stream.Writer.WriteFileError!usize,
241 netClose: *const fn (?*anyopaque, handle: []const net.Socket.Handle) void,
241 netClose: *const fn (?*anyopaque, sockets: []const net.Socket) void,
242242 netShutdown: *const fn (?*anyopaque, handle: net.Socket.Handle, how: net.ShutdownHow) net.ShutdownError!void,
243243 netInterfaceNameResolve: *const fn (?*anyopaque, *const net.Interface.Name) net.Interface.Name.ResolveError!net.Interface,
244244 netInterfaceName: *const fn (?*anyopaque, net.Interface) net.Interface.NameError!net.Interface.Name,
......@@ -3482,9 +3482,9 @@ pub fn failingNetWriteFile(userdata: ?*anyopaque, handle: net.Socket.Handle, hea
34823482 return error.NetworkDown;
34833483}
34843484
3485pub fn unreachableNetClose(userdata: ?*anyopaque, handle: []const net.Socket.Handle) void {
3485pub fn unreachableNetClose(userdata: ?*anyopaque, sockets: []const net.Socket) void {
34863486 _ = userdata;
3487 _ = handle;
3487 _ = sockets;
34883488 unreachable;
34893489}
34903490
lib/std/Io/Dispatch.zig+2-2
......@@ -4912,10 +4912,10 @@ fn netWriteFileUnavailable(
49124912 return error.Unimplemented;
49134913}
49144914
4915fn netClose(userdata: ?*anyopaque, handles: []const net.Socket.Handle) void {
4915fn netClose(userdata: ?*anyopaque, sockets: []const net.Socket) void {
49164916 const ev: *Evented = @ptrCast(@alignCast(userdata));
49174917 _ = ev;
4918 for (handles) |handle| closeFd(handle);
4918 for (sockets) |socket| closeFd(socket.handle);
49194919}
49204920
49214921fn netShutdownUnavailable(
lib/std/Io/Kqueue.zig+2-2
......@@ -1280,10 +1280,10 @@ fn netWrite(userdata: ?*anyopaque, dest: net.Socket.Handle, header: []const u8,
12801280 @panic("TODO");
12811281}
12821282
1283fn netClose(userdata: ?*anyopaque, handles: []const net.Socket.Handle) void {
1283fn netClose(userdata: ?*anyopaque, sockets: []const net.Socket) void {
12841284 const k: *Kqueue = @ptrCast(@alignCast(userdata));
12851285 _ = k;
1286 _ = handles;
1286 _ = sockets;
12871287 @panic("TODO");
12881288}
12891289
lib/std/Io/Threaded.zig+4-4
......@@ -13415,13 +13415,13 @@ fn addBuf(v: []posix.iovec_const, i: *iovlen_t, bytes: []const u8) void {
1341513415 i.* += 1;
1341613416}
1341713417
13418fn netClose(userdata: ?*anyopaque, handles: []const net.Socket.Handle) void {
13418fn netClose(userdata: ?*anyopaque, sockets: []const net.Socket) void {
1341913419 if (!have_networking) unreachable;
1342013420 const t: *Threaded = @ptrCast(@alignCast(userdata));
1342113421 _ = t;
13422 for (handles) |handle| switch (native_os) {
13423 .windows => windows.CloseHandle(handle),
13424 else => closeFd(handle),
13422 for (sockets) |socket| switch (native_os) {
13423 .windows => windows.CloseHandle(socket.handle),
13424 else => closeFd(socket.handle),
1342513425 };
1342613426}
1342713427
lib/std/Io/Uring.zig+2-2
......@@ -5189,9 +5189,9 @@ fn netWriteFileUnavailable(
51895189 return error.Unimplemented;
51905190}
51915191
5192fn netClose(userdata: ?*anyopaque, handles: []const net.Socket.Handle) void {
5192fn netClose(userdata: ?*anyopaque, sockets: []const net.Socket) void {
51935193 const ev: *Evented = @ptrCast(@alignCast(userdata));
5194 for (handles) |handle| ev.close(handle);
5194 for (sockets) |sock| ev.close(sock.handle);
51955195}
51965196
51975197fn netShutdown(
lib/std/Io/net.zig+2-2
......@@ -1081,7 +1081,7 @@ pub const Socket = struct {
10811081
10821082 /// Leaves `address` in a valid state.
10831083 pub fn close(s: *const Socket, io: Io) void {
1084 io.vtable.netClose(io.userdata, (&s.handle)[0..1]);
1084 io.vtable.netClose(io.userdata, s[0..1]);
10851085 }
10861086
10871087 pub fn closeMany(io: Io, sockets: []const Socket) void {
......@@ -1258,7 +1258,7 @@ pub const Stream = struct {
12581258 }
12591259
12601260 pub fn close(s: *const Stream, io: Io) void {
1261 io.vtable.netClose(io.userdata, (&s.socket.handle)[0..1]);
1261 io.vtable.netClose(io.userdata, (&s.socket)[0..1]);
12621262 }
12631263
12641264 pub fn shutdown(s: *const Stream, io: Io, how: ShutdownHow) ShutdownError!void {