From 7f133b677c1fb4dee92a3d0b47c01880008b7133 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Mon, 19 Nov 2018 20:35:21 +1100 Subject: [PATCH] Improve error handling for listening Will help with #290. --- socket.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/socket.go b/socket.go index d4c423d1..e7a200fe 100644 --- a/socket.go +++ b/socket.go @@ -10,6 +10,7 @@ import ( "github.com/anacrolix/missinggo" "github.com/anacrolix/missinggo/perf" + "github.com/pkg/errors" "golang.org/x/net/proxy" ) @@ -123,7 +124,7 @@ func listenAllRetry(nahs []networkAndHost, port int, proxyURL string, f firewall portStr := strconv.FormatInt(int64(port), 10) ss[0], err = listen(nahs[0].Network, net.JoinHostPort(nahs[0].Host, portStr), proxyURL, f) if err != nil { - return nil, false, fmt.Errorf("first listen: %s", err) + return nil, false, errors.Wrap(err, "first listen") } defer func() { if err != nil || retry { @@ -139,7 +140,7 @@ func listenAllRetry(nahs []networkAndHost, port int, proxyURL string, f firewall if err != nil { return ss, missinggo.IsAddrInUse(err) && port == 0, - fmt.Errorf("subsequent listen: %s", err) + errors.Wrap(err, "subsequent listen") } ss = append(ss, s) } -- 2.48.1