prevent closing os.Stdout or os.Stderr (used in verbose test logging)

This commit is contained in:
Travis Turner 2018-10-17 17:09:07 -05:00
parent 486cb46b49
commit 42531f72fb
No known key found for this signature in database
GPG key ID: 7F08008DFD9314C9

View file

@ -364,7 +364,10 @@ func (m *Command) Close() error {
eg.Go(m.gossipMemberSet.Close)
}
if closer, ok := m.logOutput.(io.Closer); ok {
eg.Go(closer.Close)
// If closer is os.Stdout or os.Stderr, don't close it.
if closer != os.Stdout && closer != os.Stderr {
eg.Go(closer.Close)
}
}
err := eg.Wait()
return errors.Wrap(err, "closing everything")