From a8fce3cbbc8c44c41222bc9cbf7910e502077e4c Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Mon, 14 Sep 2020 22:10:09 +0200 Subject: [PATCH] diag: drain ping reply channel to avoid goroutine leak --- internal/diag/ping.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/diag/ping.go b/internal/diag/ping.go index 6ac31c7..fb0272b 100644 --- a/internal/diag/ping.go +++ b/internal/diag/ping.go @@ -278,6 +278,11 @@ func (d *ping6) Evaluate() (string, error) { if localAddr[reply.Address.String()] { continue } + go func() { + for range replies { + // drain channel + } + }() return formatRTT(reply.Duration) + " from " + reply.Address.String(), nil } return "", fmt.Errorf("no responses to %s within %v", addr, timeout)