From: Matt Joiner Date: Sat, 20 Feb 2016 16:33:39 +0000 (+1100) Subject: Fix race updating piece priority when piece being read is unexpectedly unavailable X-Git-Tag: v1.0.0~873 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=400fa1feaf151c2957621914f1df47391fe68027;p=btrtrc.git Fix race updating piece priority when piece being read is unexpectedly unavailable --- diff --git a/reader.go b/reader.go index 12caf4ca..0f92343a 100644 --- a/reader.go +++ b/reader.go @@ -135,8 +135,10 @@ func (r *Reader) readOnceAt(b []byte, pos int64) (n int, err error) { return } log.Printf("%s: error reading from torrent storage pos=%d: %s", r.t, pos, err) + r.t.cl.mu.Lock() r.t.torrent.updatePieceCompletion(pi) r.t.torrent.updatePiecePriority(pi) + r.t.cl.mu.Unlock() } }