aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/os3_solaris.go
diff options
context:
space:
mode:
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 79f6b18c9a..783a294976 100644
--- a/src/runtime/os3_solaris.go
+++ b/src/runtime/os3_solaris.go
@@ -569,6 +569,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)
}