summaryrefslogtreecommitdiff
path: root/src/runtime/os3_solaris.go
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2023-05-15 16:34:36 -0700
committerGopher Robot <gobot@golang.org>2023-05-17 04:58:07 +0000
commit547aed18e0db6a18c207731d56b60a24d0c69ba5 (patch)
treeae27d32ac15d0466e9a8829eb23a28a6bf1a3a38 /src/runtime/os3_solaris.go
parent6d1c507bfc360ba72ca716bb7cb7bd9105a45af4 (diff)
downloadgo-git-547aed18e0db6a18c207731d56b60a24d0c69ba5.tar.gz
runtime: consistently define fcntl
Clean up and consolidate on a single consistent definition of fcntl, which takes three int32 arguments and returns either a positive result or a negative errno value. Change-Id: Id9505492712db4b0aab469c6bd15e4fce3c9ff6e Reviewed-on: https://go-review.googlesource.com/c/go/+/495075 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/runtime/os3_solaris.go')
-rw-r--r--src/runtime/os3_solaris.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/runtime/os3_solaris.go b/src/runtime/os3_solaris.go
index 42fe3790e3..a0427009a1 100644
--- a/src/runtime/os3_solaris.go
+++ b/src/runtime/os3_solaris.go
@@ -570,6 +570,15 @@ func pipe2(flags int32) (r, w int32, errno int32) {
}
//go:nosplit
+func fcntl(fd, cmd, arg int32) int32 {
+ r1, err := sysvicall3Err(&libc_fcntl, uintptr(fd), uintptr(cmd), uintptr(arg))
+ if r := int32(r1); r >= 0 {
+ return r
+ }
+ return -int32(err)
+}
+
+//go:nosplit
func closeonexec(fd int32) {
fcntl(fd, _F_SETFD, _FD_CLOEXEC)
}