From ee715066291701c1f68e5211157295d772f6b3b5 Mon Sep 17 00:00:00 2001 From: Brian Goff Date: Wed, 15 Feb 2017 21:00:29 -0500 Subject: [PATCH] Fix cpu spin waiting for log write events This loop is not ever going to return since it's never actually setting the `err` var except on the first iteration. Signed-off-by: Brian Goff Upstream-commit: 7a179972ff963706404f91671960b144dec98d65 Component: engine --- components/engine/daemon/logger/jsonfilelog/read.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/components/engine/daemon/logger/jsonfilelog/read.go b/components/engine/daemon/logger/jsonfilelog/read.go index deff86dfa3..30d533fc1f 100644 --- a/components/engine/daemon/logger/jsonfilelog/read.go +++ b/components/engine/daemon/logger/jsonfilelog/read.go @@ -256,9 +256,12 @@ func followLogs(f *os.File, logWatcher *logger.LogWatcher, notifyRotate chan int handleDecodeErr := func(err error) error { if err == io.EOF { - for err := waitRead(); err != nil; { + for { + err := waitRead() + if err == nil { + break + } if err == errRetry { - // retry the waitRead continue } return err