]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Don't raise piece priority while hashing or if piece complete
authorMatt Joiner <anacrolix@gmail.com>
Sat, 4 Jul 2015 03:38:42 +0000 (13:38 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Sat, 4 Jul 2015 03:38:42 +0000 (13:38 +1000)
client.go

index 5a8b56e98a81914ea8a69b03edb74ae77807194a..b1d738f0374630f2ca0828adc1f73a2863e6d9bc 100644 (file)
--- a/client.go
+++ b/client.go
@@ -365,12 +365,15 @@ func (cl *Client) raisePiecePriority(t *torrent, piece int, priority piecePriori
 
 func (cl *Client) prioritizePiece(t *torrent, piece int, priority piecePriority) {
        if t.havePiece(piece) {
-               return
+               priority = PiecePriorityNone
        }
        if priority != PiecePriorityNone {
                cl.queueFirstHash(t, piece)
        }
        p := t.Pieces[piece]
+       if p.Hashing || p.QueuedForHash {
+               return
+       }
        if p.Priority != priority {
                p.Priority = priority
                cl.pieceChanged(t, piece)