From 35d02791b990082fe80da54352050bd095ebd1e7 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Tue, 3 May 2022 11:47:44 +0200 Subject: [PATCH] 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 Run-TryBot: Tobias Klauser Auto-Submit: Tobias Klauser Run-TryBot: Ian Lance Taylor Auto-Submit: Ian Lance Taylor Reviewed-by: Ian Lance Taylor Reviewed-by: David Chase --- src/net/sock_cloexec.go | 25 ------------------------- 1 file changed, 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 } -- 2.50.0