tsnet: use errors.Join and idiomatic field order
Updates #18376 (follow up on feedback) Signed-off-by: Harry Harpham <harry@tailscale.com>
This commit is contained in:
+2
-12
@@ -1468,8 +1468,8 @@ func (a addr) String() string { return a.ln.addr }
|
|||||||
// cleanupListener wraps a net.Listener with a function to be run on Close.
|
// cleanupListener wraps a net.Listener with a function to be run on Close.
|
||||||
type cleanupListener struct {
|
type cleanupListener struct {
|
||||||
net.Listener
|
net.Listener
|
||||||
cleanup func() error
|
|
||||||
cleanupOnce sync.Once
|
cleanupOnce sync.Once
|
||||||
|
cleanup func() error // nil if unused
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cl *cleanupListener) Close() error {
|
func (cl *cleanupListener) Close() error {
|
||||||
@@ -1479,15 +1479,5 @@ func (cl *cleanupListener) Close() error {
|
|||||||
cleanupErr = cl.cleanup()
|
cleanupErr = cl.cleanup()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
closeErr := cl.Listener.Close()
|
return errors.Join(cl.Listener.Close(), cleanupErr)
|
||||||
switch {
|
|
||||||
case closeErr != nil && cleanupErr != nil:
|
|
||||||
return fmt.Errorf("%w; also: %w", closeErr, cleanupErr)
|
|
||||||
case closeErr != nil:
|
|
||||||
return closeErr
|
|
||||||
case cleanupErr != nil:
|
|
||||||
return cleanupErr
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user