- Prevent torrent shutdown when changing file priority to skip

This commit is contained in:
zzz
2012-05-22 18:18:30 +00:00
parent 20567ae75e
commit 10872f751e
2 changed files with 13 additions and 3 deletions

View File

@ -424,13 +424,22 @@ public class MetaInfo
}
/**
* @return good
* @since 0.9.1
*/
boolean checkPiece(PartialPiece pp) throws IOException {
boolean checkPiece(PartialPiece pp) {
MessageDigest sha1 = SHA1.getInstance();
int piece = pp.getPiece();
byte[] hash = pp.getHash();
byte[] hash;
try {
hash = pp.getHash();
} catch (IOException ioe) {
// Could be caused by closing a peer connnection
// we don't want the exception to propagate through
// to Storage.putPiece()
_log.warn("Error checking", ioe);
return false;
}
for (int i = 0; i < 20; i++)
if (hash[i] != piece_hashes[20 * piece + i])
return false;

View File

@ -308,6 +308,7 @@ class PeerState implements DataLoader
+ peer);
// Last chunk needed for this piece?
// FIXME if priority changed to skip, we will think we're done when we aren't
if (getFirstOutstandingRequest(req.getPiece()) == -1)
{
// warning - may block here for a while