From 835dd2635af46e3c8604fae8c9d383a80535c29e Mon Sep 17 00:00:00 2001 From: Wim Date: Sat, 30 Oct 2021 15:17:50 +0200 Subject: Update dependencies (#1628) --- vendor/github.com/google/gops/agent/agent.go | 2 +- .../google/gops/agent/sockopt_reuseport.go | 37 ++++++++++++++++++++++ .../github.com/google/gops/agent/sockopt_unix.go | 37 ---------------------- .../google/gops/agent/sockopt_unsupported.go | 6 ++-- 4 files changed, 41 insertions(+), 41 deletions(-) create mode 100644 vendor/github.com/google/gops/agent/sockopt_reuseport.go delete mode 100644 vendor/github.com/google/gops/agent/sockopt_unix.go (limited to 'vendor/github.com/google/gops') diff --git a/vendor/github.com/google/gops/agent/agent.go b/vendor/github.com/google/gops/agent/agent.go index 5fde1fd1..2af03e5a 100644 --- a/vendor/github.com/google/gops/agent/agent.go +++ b/vendor/github.com/google/gops/agent/agent.go @@ -107,7 +107,7 @@ func Listen(opts Options) error { } var lc net.ListenConfig if opts.ReuseSocketAddrAndPort { - lc.Control = setsockoptReuseAddrAndPort + lc.Control = setReuseAddrAndPortSockopts } listener, err = lc.Listen(context.Background(), "tcp", addr) if err != nil { diff --git a/vendor/github.com/google/gops/agent/sockopt_reuseport.go b/vendor/github.com/google/gops/agent/sockopt_reuseport.go new file mode 100644 index 00000000..8311fe39 --- /dev/null +++ b/vendor/github.com/google/gops/agent/sockopt_reuseport.go @@ -0,0 +1,37 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !js && !plan9 && !solaris && !windows +// +build !js,!plan9,!solaris,!windows + +package agent + +import ( + "syscall" + + "golang.org/x/sys/unix" +) + +// setReuseAddrAndPortSockopts sets the SO_REUSEADDR and SO_REUSEPORT socket +// options on c's underlying socket in order to increase the chance to re-bind() +// to the same address and port upon agent restart. +func setReuseAddrAndPortSockopts(network, address string, c syscall.RawConn) error { + var soerr error + if err := c.Control(func(su uintptr) { + sock := int(su) + // Allow reuse of recently-used addresses. This socket option is + // set by default on listeners in Go's net package, see + // net.setDefaultSockopts. + soerr = unix.SetsockoptInt(sock, unix.SOL_SOCKET, unix.SO_REUSEADDR, 1) + if soerr != nil { + return + } + // Allow reuse of recently-used ports. This gives the agent a + // better chance to re-bind upon restarts. + soerr = unix.SetsockoptInt(sock, unix.SOL_SOCKET, unix.SO_REUSEPORT, 1) + }); err != nil { + return err + } + return soerr +} diff --git a/vendor/github.com/google/gops/agent/sockopt_unix.go b/vendor/github.com/google/gops/agent/sockopt_unix.go deleted file mode 100644 index 8c472c64..00000000 --- a/vendor/github.com/google/gops/agent/sockopt_unix.go +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2020 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -//go:build !js && !plan9 && !windows -// +build !js,!plan9,!windows - -package agent - -import ( - "syscall" - - "golang.org/x/sys/unix" -) - -// setsockoptReuseAddrAndPort sets the SO_REUSEADDR and SO_REUSEPORT socket -// options on c's underlying socket in order to increase the chance to re-bind() -// to the same address and port upon agent restart. -func setsockoptReuseAddrAndPort(network, address string, c syscall.RawConn) error { - var soerr error - if err := c.Control(func(su uintptr) { - sock := int(su) - // Allow reuse of recently-used addresses. This socket option is - // set by default on listeners in Go's net package, see - // net.setDefaultSockopts. - soerr = unix.SetsockoptInt(sock, unix.SOL_SOCKET, unix.SO_REUSEADDR, 1) - if soerr != nil { - return - } - // Allow reuse of recently-used ports. This gives the agent a - // better chance to re-bind upon restarts. - soerr = unix.SetsockoptInt(sock, unix.SOL_SOCKET, unix.SO_REUSEPORT, 1) - }); err != nil { - return err - } - return soerr -} diff --git a/vendor/github.com/google/gops/agent/sockopt_unsupported.go b/vendor/github.com/google/gops/agent/sockopt_unsupported.go index ca079c69..2493e8ca 100644 --- a/vendor/github.com/google/gops/agent/sockopt_unsupported.go +++ b/vendor/github.com/google/gops/agent/sockopt_unsupported.go @@ -2,13 +2,13 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build (js && wasm) || plan9 || windows -// +build js,wasm plan9 windows +//go:build (js && wasm) || plan9 || solaris || windows +// +build js,wasm plan9 solaris windows package agent import "syscall" -func setsockoptReuseAddrAndPort(network, address string, c syscall.RawConn) error { +func setReuseAddrAndPortSockopts(network, address string, c syscall.RawConn) error { return nil } -- cgit v1.2.3