mirror of
https://git.robbyzambito.me/zits
synced 2026-02-04 03:34:48 +00:00
Better cancelation handling
Based on this conversation with Andrew https://ziggit.dev/t/am-i-canceling-my-std-io-group-incorrectly/13836
This commit is contained in:
@@ -131,7 +131,8 @@ fn handleConnectionInfallible(
|
|||||||
) !void {
|
) !void {
|
||||||
handleConnection(server, server_allocator, io, id, stream, r_buf_size, w_buf_size) catch |err| switch (err) {
|
handleConnection(server, server_allocator, io, id, stream, r_buf_size, w_buf_size) catch |err| switch (err) {
|
||||||
error.Canceled => return error.Canceled,
|
error.Canceled => return error.Canceled,
|
||||||
else => log.err("Failed processing client {d}: {any}", .{ id, err }),
|
error.ClientDisconnected => log.debug("Client {d} disconnected", .{id}),
|
||||||
|
else => log.err("Failed processing client {d}: {t}", .{ id, err }),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -235,13 +236,9 @@ fn handleConnection(
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
} else |err| switch (err) {
|
} else |err| switch (err) {
|
||||||
error.EndOfStream, error.ReadFailed => {
|
error.EndOfStream => return error.ClientDisconnected,
|
||||||
log.debug("Client {d} disconnected", .{id});
|
error.ReadFailed => return reader.err.?,
|
||||||
return error.Canceled;
|
else => |e| return e,
|
||||||
},
|
|
||||||
else => {
|
|
||||||
return err;
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user