From c1444f8c1ddae1bdb0fe28d20c5a6474c2b4e4da Mon Sep 17 00:00:00 2001 From: eleksir Date: Sat, 4 Apr 2026 15:22:50 +0300 Subject: [PATCH] Add cancellation after read and before write, to be able to cancel operation more quickly --- internal/backer/newServer.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/backer/newServer.go b/internal/backer/newServer.go index 7e362d2..37e1d5e 100644 --- a/internal/backer/newServer.go +++ b/internal/backer/newServer.go @@ -227,6 +227,12 @@ func copyWithContext(ctx context.Context, dst io.Writer, src io.Reader) error { n, readErr := src.Read(buf) if n > 0 { + select { + case <-ctx.Done(): + return ctx.Err() + default: + } + if _, werr := dst.Write(buf[:n]); werr != nil { return werr }