mirror of
https://github.com/golang/go
synced 2024-11-23 13:40:04 -07:00
internal/syscall/unix: don't use linkname to refer to syscall.fcntl
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>
This commit is contained in:
parent
9cfa41c826
commit
d8cf1514ca
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user