summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/google/gops/agent/agent.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2020-12-31 14:48:12 +0100
committerGitHub <noreply@github.com>2020-12-31 14:48:12 +0100
commit4f20ebead36876a88391bf033d1de3e4cf0228da (patch)
tree70b6fd79c6a5e00c958c29a7bd3926f074e76ba6 /vendor/github.com/google/gops/agent/agent.go
parenta9f89dbc645aafc68daa9fc8d589f55104b535c7 (diff)
downloadmatterbridge-msglm-4f20ebead36876a88391bf033d1de3e4cf0228da.tar.gz
matterbridge-msglm-4f20ebead36876a88391bf033d1de3e4cf0228da.tar.bz2
matterbridge-msglm-4f20ebead36876a88391bf033d1de3e4cf0228da.zip
Update vendor for next release (#1343)
Diffstat (limited to 'vendor/github.com/google/gops/agent/agent.go')
-rw-r--r--vendor/github.com/google/gops/agent/agent.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/vendor/github.com/google/gops/agent/agent.go b/vendor/github.com/google/gops/agent/agent.go
index 59a03cf5..441814c9 100644
--- a/vendor/github.com/google/gops/agent/agent.go
+++ b/vendor/github.com/google/gops/agent/agent.go
@@ -8,6 +8,7 @@ package agent
import (
"bufio"
+ "context"
"encoding/binary"
"fmt"
"io"
@@ -55,6 +56,13 @@ type Options struct {
// can call Close before shutting down.
// Optional.
ShutdownCleanup bool
+
+ // ReuseSocketAddrAndPort determines whether the SO_REUSEADDR and
+ // SO_REUSEADDR socket options should be set on the listening socket of
+ // the agent. This option is only effective on unix-like OSes and if
+ // Addr is set to a fixed host:port.
+ // Optional.
+ ReuseSocketAddrAndPort bool
}
// Listen starts the gops agent on a host process. Once agent started, users
@@ -96,11 +104,14 @@ func Listen(opts Options) error {
if addr == "" {
addr = defaultAddr
}
- ln, err := net.Listen("tcp", addr)
+ var lc net.ListenConfig
+ if opts.ReuseSocketAddrAndPort {
+ lc.Control = setsockoptReuseAddrAndPort
+ }
+ listener, err = lc.Listen(context.Background(), "tcp", addr)
if err != nil {
return err
}
- listener = ln
port := listener.Addr().(*net.TCPAddr).Port
portfile = fmt.Sprintf("%s/%d", gopsdir, os.Getpid())
err = ioutil.WriteFile(portfile, []byte(strconv.Itoa(port)), os.ModePerm)