Make sure log pipes are closed

Pipes are still not closed (and goroutines leaked) if neither pipe is
used.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This commit is contained in:
Brian Goff 2015-05-06 21:09:27 -04:00
parent a15859d7a9
commit 9b30befa9d

View file

@ -5,8 +5,6 @@ import (
"fmt"
"io"
"time"
"github.com/Sirupsen/logrus"
)
type JSONLog struct {
@ -37,15 +35,16 @@ func WriteLog(src io.Reader, dst io.Writer, format string, since time.Time) erro
l := &JSONLog{}
for {
l.Reset()
if err := dec.Decode(l); err == io.EOF {
if err := dec.Decode(l); err != nil {
if err == io.EOF {
return nil
} else if err != nil {
logrus.Printf("Error streaming logs: %s", err)
}
return err
}
if !since.IsZero() && l.Created.Before(since) {
continue
}
line, err := l.Format(format)
if err != nil {
return err