]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: make fcntl arguments consistent across OS's
authorIan Lance Taylor <iant@golang.org>
Tue, 29 Oct 2019 17:18:25 +0000 (10:18 -0700)
committerIan Lance Taylor <iant@golang.org>
Wed, 30 Oct 2019 00:41:31 +0000 (00:41 +0000)
The C fnctl takes all int parameters, so consistently use int32.
We already used int32 on Darwin.

Change-Id: I69a012145d012771d7308d705d133159fc1aceaa
Reviewed-on: https://go-review.googlesource.com/c/go/+/204101
Run-TryBot: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/runtime/netpoll_solaris.go
src/runtime/os_aix.go

index fac4829ed1bcbf7b9fe080d0f439fc565c204464..26bbe38d861fa704c0d09548f720629a5befa35b 100644 (file)
@@ -91,8 +91,8 @@ func errno() int32 {
        return *getg().m.perrno
 }
 
-func fcntl(fd, cmd int32, arg uintptr) int32 {
-       return int32(sysvicall3(&libc_fcntl, uintptr(fd), uintptr(cmd), arg))
+func fcntl(fd, cmd, arg int32) int32 {
+       return int32(sysvicall3(&libc_fcntl, uintptr(fd), uintptr(cmd), uintptr(arg)))
 }
 
 func port_create() int32 {
index ff2588f42fac006cc733f2eba73acf79cf2d3533..9a6b8aec7c167e835bbc55a147d27f52d16eb255 100644 (file)
@@ -360,8 +360,8 @@ func setupSystemConf() {
 }
 
 //go:nosplit
-func fcntl(fd, cmd int32, arg uintptr) int32 {
-       r, _ := syscall3(&libc_fcntl, uintptr(fd), uintptr(cmd), arg)
+func fcntl(fd, cmd, arg int32) int32 {
+       r, _ := syscall3(&libc_fcntl, uintptr(fd), uintptr(cmd), uintptr(arg))
        return int32(r)
 }
 
@@ -373,5 +373,5 @@ func closeonexec(fd int32) {
 //go:nosplit
 func setNonblock(fd int32) {
        flags := fcntl(fd, _F_GETFL, 0)
-       fcntl(fd, _F_SETFL, uintptr(flags|_O_NONBLOCK))
+       fcntl(fd, _F_SETFL, flags|_O_NONBLOCK)
 }