]> Cypherpunks repositories - gostls13.git/commitdiff
internal/poll: use ignoringEINTR2 in (*FD).Pread
authorTobias Klauser <tklauser@distanz.ch>
Tue, 14 Jan 2025 10:26:06 +0000 (11:26 +0100)
committerGopher Robot <gobot@golang.org>
Mon, 3 Feb 2025 16:34:15 +0000 (08:34 -0800)
Change-Id: I2af5f3f039b6c0e8e77484bd6b2cdb88e919a85d
Reviewed-on: https://go-review.googlesource.com/c/go/+/641759
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/internal/poll/fd_unix.go

index 2535a3ae4dd43bbb09471890c910399fe97e5c62..31e6e21120fde3e8fb7ce8c269ebf342312c758b 100644 (file)
@@ -183,16 +183,9 @@ func (fd *FD) Pread(p []byte, off int64) (int, error) {
        if fd.IsStream && len(p) > maxRW {
                p = p[:maxRW]
        }
-       var (
-               n   int
-               err error
-       )
-       for {
-               n, err = syscall.Pread(fd.Sysfd, p, off)
-               if err != syscall.EINTR {
-                       break
-               }
-       }
+       n, err := ignoringEINTR2(func() (int, error) {
+               return syscall.Pread(fd.Sysfd, p, off)
+       })
        if err != nil {
                n = 0
        }