]> Cypherpunks.ru repositories - gostls13.git/commit
syscall: use dup3 in forkAndExecInChild on OpenBSD
authorTobias Klauser <tklauser@distanz.ch>
Fri, 4 Mar 2022 08:49:32 +0000 (09:49 +0100)
committerTobias Klauser <tobias.klauser@gmail.com>
Sat, 5 Mar 2022 08:36:13 +0000 (08:36 +0000)
commit55a60cadc3f5d01f76ac9435da2ed941e194a29b
tree9867ff3e90013113d6ed05b0c58cf1e92be365e4
parentbf97c99b62fe7d6652cc8c807dbc91998d488a01
syscall: use dup3 in forkAndExecInChild on OpenBSD

Use dup3(oldfd, newfd, O_CLOEXEC) to atomically duplicate the file
descriptor and mark is as close-on-exec instead of dup2 & fcntl.

The dup3 system call first appeared in OpenBSD 5.7.

Change-Id: Ic06c2c7089dcdbd931ee24e5e8c316879d81474e
Reviewed-on: https://go-review.googlesource.com/c/go/+/389974
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
14 files changed:
src/syscall/exec_bsd.go
src/syscall/exec_libc2.go
src/syscall/syscall_darwin.go
src/syscall/syscall_openbsd.go
src/syscall/syscall_openbsd_libc.go
src/syscall/syscall_openbsd_mips64.go
src/syscall/zsyscall_openbsd_386.go
src/syscall/zsyscall_openbsd_386.s
src/syscall/zsyscall_openbsd_amd64.go
src/syscall/zsyscall_openbsd_amd64.s
src/syscall/zsyscall_openbsd_arm.go
src/syscall/zsyscall_openbsd_arm.s
src/syscall/zsyscall_openbsd_arm64.go
src/syscall/zsyscall_openbsd_arm64.s