From 007cab2aa967e0d37b62922c11617b21c91b1943 Mon Sep 17 00:00:00 2001 From: Lewis Marshall Date: Tue, 24 Oct 2017 22:29:18 +0100 Subject: [PATCH] Don't block on tail.Lines on shutdown. Signed-off-by: Lewis Marshall --- tail.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tail.go b/tail.go index c99cdaa2..cd28d9a2 100644 --- a/tail.go +++ b/tail.go @@ -275,8 +275,8 @@ func (tail *Tail) tailFileSync() { // file when rate limit is reached. msg := ("Too much log activity; waiting a second " + "before resuming tailing") - tail.Lines <- &Line{msg, time.Now(), errors.New(msg)} select { + case tail.Lines <- &Line{msg, time.Now(), errors.New(msg)}: case <-time.After(time.Second): case <-tail.Dying(): return @@ -414,7 +414,11 @@ func (tail *Tail) sendLine(line string) bool { } for _, line := range lines { - tail.Lines <- &Line{line, now, nil} + select { + case tail.Lines <- &Line{line, now, nil}: + case <-tail.Dying(): + return false + } } if tail.Config.RateLimiter != nil {