connection.go | 3 +-- diff --git a/connection.go b/connection.go index 4c106cca5a3dcdbc131f4ea4974f563dc8c88f98..3a857d91e123808a750e09c24c15fd068d0cee08 100644 --- a/connection.go +++ b/connection.go @@ -1400,8 +1400,6 @@ t.updatePieceCompletion(pieceIndex(msg.Index)) return nil } - // It's important that the piece is potentially queued before we check if - // the piece is still wanted, because if it is queued, it won't be wanted. if t.pieceAllDirty(pieceIndex(req.Index)) { t.queuePieceCheck(pieceIndex(req.Index)) t.pendAllChunkSpecs(pieceIndex(req.Index)) @@ -1410,6 +1408,7 @@ c.onDirtiedPiece(pieceIndex(req.Index)) cl.event.Broadcast() + // We do this because we've written a chunk, and may change PieceState.Partial. t.publishPieceChange(pieceIndex(req.Index)) return nil