diff options
| author | Robby Zambito <contact@robbyzambito.me> | 2026-01-06 16:07:25 -0500 |
|---|---|---|
| committer | Robby Zambito <contact@robbyzambito.me> | 2026-01-06 17:14:18 -0500 |
| commit | 025a5344c8c922a8f46c4ee0e73a00ce0c3c4790 (patch) | |
| tree | 4d8811c6e0cb8f99dd2c9f0b5b7191215568b2e0 /src | |
| parent | c676a8218e9d491f96947c6c41e645a77bb99480 (diff) | |
Return error.Canceled from concurrent group task
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/Server.zig | 10 |
1 files changed, 6 insertions, 4 deletions
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; |
