From: Ian Lance Taylor Date: Fri, 1 Mar 2019 15:12:24 +0000 (-0800) Subject: net: return poll.SendFile error from sendFile X-Git-Tag: go1.13beta1~1270 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=412f659280607b06de9b25569cf668ea8f23dd57;p=gostls13.git 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 --- 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 {