From 412f659280607b06de9b25569cf668ea8f23dd57 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 1 Mar 2019 07:12:24 -0800 Subject: [PATCH] net: return poll.SendFile error from sendFile We were accidentally ignoring any error returned by poll.SendFile. Noticed by reading the code. It could only change behavior if the sendfile system call both wrote some bytes and returned an error. Change-Id: I0693d6ec0a30f5a86b78d38793899ca29fb9e156 Reviewed-on: https://go-review.googlesource.com/c/164760 Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/net/sendfile_linux.go | 4 ++-- src/net/sendfile_unix_alt.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/net/sendfile_linux.go b/src/net/sendfile_linux.go index 297e625d24..e5150aa5e8 100644 --- a/src/net/sendfile_linux.go +++ b/src/net/sendfile_linux.go @@ -42,8 +42,8 @@ func sendFile(c *netFD, r io.Reader) (written int64, err error, handled bool) { written, werr = poll.SendFile(&c.pfd, int(fd), remain) return true }) - if werr == nil { - werr = err + if err == nil { + err = werr } if lr != nil { diff --git a/src/net/sendfile_unix_alt.go b/src/net/sendfile_unix_alt.go index 43df3bfd15..8cededce58 100644 --- a/src/net/sendfile_unix_alt.go +++ b/src/net/sendfile_unix_alt.go @@ -68,8 +68,8 @@ func sendFile(c *netFD, r io.Reader) (written int64, err error, handled bool) { written, werr = poll.SendFile(&c.pfd, int(fd), pos, remain) return true }) - if werr == nil { - werr = err + if err == nil { + err = werr } if lr != nil { -- 2.50.0