server: Fix defer function closure escape

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
storage-doc
Marek Siarkowicz 2023-03-30 13:37:19 +02:00
parent 0bd0b6b0b5
commit 549087cd69
1 changed files with 3 additions and 3 deletions

View File

@ -692,17 +692,17 @@ func configureClientListeners(cfg *Config) (sctxs map[string]*serveCtx, err erro
sctx.l = transport.LimitListener(sctx.l, int(fdLimit-reservedInternalFDNum))
}
defer func(addr string) {
defer func(sctx *serveCtx) {
if err == nil || sctx.l == nil {
return
}
sctx.l.Close()
cfg.logger.Warn(
"closing peer listener",
zap.String("address", addr),
zap.String("address", sctx.addr),
zap.Error(err),
)
}(sctx.addr)
}(sctx)
for k := range cfg.UserHandlers {
sctx.userHandlers[k] = cfg.UserHandlers[k]
}