summaryrefslogtreecommitdiff
path: root/daemon/attach.go
diff options
context:
space:
mode:
authorJim Minter <jminter@redhat.com>2017-04-20 11:17:06 +0100
committerJim Minter <jminter@redhat.com>2017-04-20 12:27:50 +0100
commit68e71aa3e686b05987f139a7f64df304461b504a (patch)
treec262c6b51ce1c3d437e5248dbf2c5d4f99cc8f00 /daemon/attach.go
parent32ca1214fa55f55c54a54061ecf752b75f2c72c3 (diff)
downloaddocker-68e71aa3e686b05987f139a7f64df304461b504a.tar.gz
Close logger only after StartLogger call
Signed-off-by: Jim Minter <jminter@redhat.com>
Diffstat (limited to 'daemon/attach.go')
-rw-r--r--daemon/attach.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/daemon/attach.go b/daemon/attach.go
index a0e2b700ae..0a6c05dc2c 100644
--- a/daemon/attach.go
+++ b/daemon/attach.go
@@ -102,15 +102,23 @@ func (daemon *Daemon) ContainerAttachRaw(prefixOrName string, stdin io.ReadClose
func (daemon *Daemon) containerAttach(c *container.Container, cfg *stream.AttachConfig, logs, doStream bool) error {
if logs {
- logDriver, err := daemon.getLogger(c)
+ logDriver, logCreated, err := daemon.getLogger(c)
if err != nil {
return err
}
+ if logCreated {
+ defer func() {
+ if err = logDriver.Close(); err != nil {
+ logrus.Errorf("Error closing logger: %v", err)
+ }
+ }()
+ }
cLog, ok := logDriver.(logger.LogReader)
if !ok {
return logger.ErrReadLogsNotSupported
}
logs := cLog.ReadLogs(logger.ReadConfig{Tail: -1})
+ defer logs.Close()
LogLoop:
for {