From 6c7b1b513af3bcde7d68c25f196d1b9d93e992d2 Mon Sep 17 00:00:00 2001 From: Yuce Tekol Date: Wed, 5 Apr 2017 21:35:30 +0300 Subject: [PATCH] return log err too --- server/server.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/server/server.go b/server/server.go index 5d713e60b..469b5bc3b 100644 --- a/server/server.go +++ b/server/server.go @@ -116,13 +116,17 @@ func normalizeHost(host string) (string, error) { // Close shuts down the server. func (m *Command) Close() error { - err := m.Server.Close() + var logErr error + serveErr := m.Server.Close() logOutput := m.Server.LogOutput - if logOutput != m.Stderr { - if file, ok := logOutput.(*os.File); ok { - file.Close() - } + if closer, ok := logOutput.(io.Closer); ok { + logErr = closer.Close() } close(m.Done) - return err + if serveErr != nil && logErr != nil { + return fmt.Errorf("closing server: '%v', closing logs: '%v'", serveErr, logErr) + } else if logErr != nil { + return logErr + } + return serveErr }