From ff560f615eed23a44bafde1cf20bdf990d06734a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 26 Apr 2026 13:15:08 +0530 Subject: [PATCH] ... --- tools/utils/file_at_fd.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/utils/file_at_fd.go b/tools/utils/file_at_fd.go index 85e984ed8..1c2fa8a40 100644 --- a/tools/utils/file_at_fd.go +++ b/tools/utils/file_at_fd.go @@ -398,10 +398,6 @@ type CopyFolderOptions struct { func copy_file_and_close(ctx context.Context, src *os.File, dest *os.File) (err error) { err_chan := make(chan error) - defer func() { - src.Close() - dest.Close() - }() go func() { defer func() { if r := recover(); r != nil { @@ -417,12 +413,14 @@ func copy_file_and_close(ctx context.Context, src *os.File, dest *os.File) (err select { case <-ctx.Done(): - // wait for go routine to exit src.Close() dest.Close() + // wait for go routine to exit <-err_chan return ctx.Err() case err := <-err_chan: + src.Close() + dest.Close() return err } }