From 025a5344c8c922a8f46c4ee0e73a00ce0c3c4790 Mon Sep 17 00:00:00 2001 From: Robby Zambito Date: Tue, 6 Jan 2026 16:07:25 -0500 Subject: Return error.Canceled from concurrent group task --- src/server/Server.zig | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/server/Server.zig b/src/server/Server.zig index e5f199f..18214ae 100644 --- a/src/server/Server.zig +++ b/src/server/Server.zig @@ -126,9 +126,10 @@ fn handleConnectionInfallible( stream: Stream, r_buf_size: usize, w_buf_size: usize, -) void { - handleConnection(server, server_allocator, io, id, stream, r_buf_size, w_buf_size) catch |err| { - log.err("Failed processing client {d}: {any}", .{ id, err }); +) !void { + handleConnection(server, server_allocator, io, id, stream, r_buf_size, w_buf_size) catch |err| switch (err) { + error.Canceled => return error.Canceled, + else => log.err("Failed processing client {d}: {any}", .{ id, err }), }; } @@ -229,8 +230,9 @@ fn handleConnection( }, } } else |err| switch (err) { - error.EndOfStream => { + error.EndOfStream, error.ReadFailed => { log.debug("Client {d} disconnected", .{id}); + return error.Canceled; }, else => { return err; -- cgit