From 6cda3b0ab3407e79e79bc28d897f81302647fadb Mon Sep 17 00:00:00 2001 From: sSAR <138690654+zUltimaPG3D@users.noreply.github.com> Date: Sun, 9 Mar 2025 15:33:11 +0100 Subject: [PATCH] veb: handle sendfile errors, when the connection is canceled, before the file is completely transferred (#23891) --- vlib/veb/veb.v | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vlib/veb/veb.v b/vlib/veb/veb.v index e4881d00f4..6500b94e87 100644 --- a/vlib/veb/veb.v +++ b/vlib/veb/veb.v @@ -254,7 +254,11 @@ fn handle_write_file(mut pv picoev.Picoev, mut params RequestParams, fd int) { $if linux || freebsd { bytes_written := sendfile(fd, params.file_responses[fd].file.fd, bytes_to_write) - params.file_responses[fd].pos += bytes_written + if bytes_written < 0 { + params.file_responses[fd].pos += bytes_to_write + } else { + params.file_responses[fd].pos += bytes_written + } } $else { if bytes_to_write > max_write { bytes_to_write = max_write