]> Cypherpunks repositories - gostls13.git/commitdiff
internal/syscall/unix: don't use linkname to refer to syscall.fcntl
authorTobias Klauser <tklauser@distanz.ch>
Wed, 22 Aug 2018 12:01:52 +0000 (14:01 +0200)
committerTobias Klauser <tobias.klauser@gmail.com>
Fri, 24 Aug 2018 07:28:54 +0000 (07:28 +0000)
Just open-code the fcntl syscall instead of relying on the obscurity of
go:linkname.

Change-Id: I3e4ec9db6539e016f56667d7b8b87aa37671d0e7
Reviewed-on: https://go-review.googlesource.com/130736
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/internal/syscall/unix/nonblocking.go

index 818e9c91a56999eb06115c6527e3f75d06cebe96..1db3394432f581b5cff3bf07fcbb496c6cb64460 100644 (file)
@@ -6,18 +6,12 @@
 
 package unix
 
-import (
-       "syscall"
-       _ "unsafe" // for go:linkname
-)
-
-//go:linkname syscall_fcntl syscall.fcntl
-func syscall_fcntl(fd int, cmd int, arg int) (val int, err error)
+import "syscall"
 
 func IsNonblock(fd int) (nonblocking bool, err error) {
-       flag, err := syscall_fcntl(fd, syscall.F_GETFL, 0)
-       if err != nil {
-               return false, err
+       flag, _, e1 := syscall.Syscall(syscall.SYS_FCNTL, uintptr(fd), uintptr(syscall.F_GETFL), 0)
+       if e1 != 0 {
+               return false, e1
        }
        return flag&syscall.O_NONBLOCK != 0, nil
 }