From: Matt Joiner <anacrolix@gmail.com>
Date: Sat, 4 Jul 2015 03:38:42 +0000 (+1000)
Subject: Don't raise piece priority while hashing or if piece complete
X-Git-Tag: v1.0.0~1126
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=08f89c49f38f6d539334ae6f8f9902a3d709b9ab;p=btrtrc.git

Don't raise piece priority while hashing or if piece complete
---

diff --git a/client.go b/client.go
index 5a8b56e9..b1d738f0 100644
--- 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)