accounting: fix race clearing stats

This race was introduced by

10a6a92e52 accounting: reset bytes read during copy retry
This commit is contained in:
Nick Craig-Wood 2020-05-12 16:20:30 +01:00
parent cb5979a468
commit 177195aeeb

View file

@ -146,12 +146,16 @@ func (acc *Account) UpdateReader(in io.ReadCloser) {
acc.close = in acc.close = in
acc.origIn = in acc.origIn = in
acc.closed = false acc.closed = false
acc.lpBytes = 0
acc.bytes = int64(0)
if withBuf { if withBuf {
acc.WithBuffer() acc.WithBuffer()
} }
acc.mu.Unlock() acc.mu.Unlock()
// Reset counter to stop percentage going over 100%
acc.values.mu.Lock()
acc.values.lpBytes = 0
acc.values.bytes = 0
acc.values.mu.Unlock()
} }
// averageLoop calculates averages for the stats in the background // averageLoop calculates averages for the stats in the background