diff --git a/proxyreader.go b/proxyreader.go index aa70ac8..d0c1855 100644 --- a/proxyreader.go +++ b/proxyreader.go @@ -13,9 +13,13 @@ } func (r *Reader) Read(p []byte) (int, error) { - now := time.Now() - for _, ch := range r.sbChannels { - ch <- now + select { + case <-r.bar.done: + default: + now := time.Now() + for _, ch := range r.sbChannels { + ch <- now + } } n, err := r.Reader.Read(p) r.bar.IncrBy(n)