diff options
| author | Tobias Klauser <tklauser@distanz.ch> | 2022-05-03 11:47:44 +0200 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2022-05-03 18:23:13 +0000 |
| commit | 35d02791b990082fe80da54352050bd095ebd1e7 (patch) | |
| tree | 8b204ab248b2eece05d0ddbeaf7e8669d84d6358 /src | |
| parent | 356c8c54521efb02cc2a103ac2b80c77f54b4bcd (diff) | |
| download | go-35d02791b990082fe80da54352050bd095ebd1e7.tar.xz | |
net: remove fallback path in sysSocket
Support for operating system versions requiring this fallback path was
dropped from recent Go versions. The minimum Linux kernel version is
2.6.32 as of Go 1.18. FreeBSD 10 is no longer supported as of Go 1.13.
Change-Id: I7e74768146dd43a36d0d26fcb08eed9ace82189f
Reviewed-on: https://go-review.googlesource.com/c/go/+/403634
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: David Chase <drchase@google.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/net/sock_cloexec.go | 25 |
1 files changed, 0 insertions, 25 deletions
diff --git a/src/net/sock_cloexec.go b/src/net/sock_cloexec.go index f4c1165028..3f1cc9827a 100644 --- a/src/net/sock_cloexec.go +++ b/src/net/sock_cloexec.go @@ -10,7 +10,6 @@ package net import ( - "internal/poll" "os" "syscall" ) @@ -19,32 +18,8 @@ import ( // descriptor as nonblocking and close-on-exec. func sysSocket(family, sotype, proto int) (int, error) { s, err := socketFunc(family, sotype|syscall.SOCK_NONBLOCK|syscall.SOCK_CLOEXEC, proto) - // On Linux the SOCK_NONBLOCK and SOCK_CLOEXEC flags were - // introduced in 2.6.27 kernel and on FreeBSD both flags were - // introduced in 10 kernel. If we get an EINVAL error on Linux - // or EPROTONOSUPPORT error on FreeBSD, fall back to using - // socket without them. - switch err { - case nil: - return s, nil - default: - return -1, os.NewSyscallError("socket", err) - case syscall.EPROTONOSUPPORT, syscall.EINVAL: - } - - // See ../syscall/exec_unix.go for description of ForkLock. - syscall.ForkLock.RLock() - s, err = socketFunc(family, sotype, proto) - if err == nil { - syscall.CloseOnExec(s) - } - syscall.ForkLock.RUnlock() if err != nil { return -1, os.NewSyscallError("socket", err) } - if err = syscall.SetNonblock(s, true); err != nil { - poll.CloseFunc(s) - return -1, os.NewSyscallError("setnonblock", err) - } return s, nil } |
