ipnserver: ignore lint error for unused context.

The linter is strictly correct, but the code is structured
this way to avoid variable shadowing problems in the following
for loop. The context doesn't leak.

Staticcheck is correctly pointing out that this code is hard to
follow. However, this chunk of code is in service of enforcing
one frontend <> one backend, and we want to remove that limitation.
So, we'll just ignore the lint warning until this entire piece of
code goes away.

Signed-off-by: David Anderson <dave@natulte.net>
This commit is contained in:
David Anderson 2020-02-11 10:35:55 -08:00
parent 8380d8575a
commit 81eedcd5be

View File

@ -85,6 +85,10 @@ func Run(rctx context.Context, logf logger.Logf, logid string, opts Options, e w
}()
var oldS net.Conn
//lint:ignore SA4006 ctx is never used, but has to be defined so
// that it can be assigned to in the following for loop. It's a
// bit of necessary code convolution to work around Go's variable
// shadowing rules.
ctx, cancel := context.WithCancel(rctx)
stopAll := func() {