Fix possible deadlock when output cannot write. (#2610)

This commit is contained in:
Daniel Nelson
2017-03-31 12:45:28 -07:00
committed by GitHub
parent 807c11629f
commit b8bb159a41
2 changed files with 3 additions and 0 deletions

View File

@@ -45,9 +45,11 @@ func (b *Buffer) Add(metrics ...telegraf.Metric) {
select {
case b.buf <- metrics[i]:
default:
b.mu.Lock()
MetricsDropped.Incr(1)
<-b.buf
b.buf <- metrics[i]
b.mu.Unlock()
}
}
}