set d.message on hash check failure

Use Download::hash_error_message() to get a descriptive error string when
hash check fails due to I/O error, instead of relying on errno which could
be zero.

Also fix Manager::receive_hashing_changed() where set_hash_failed(true) was
called without setting d.message when catching local_error during hash
check (e.g. 'too many open files').
This commit is contained in:
trim21
2026-06-04 09:30:19 +08:00
committed by Jari Sundell
parent 75377817b4
commit bc8d0da70f
2 changed files with 6 additions and 1 deletions
+1
View File
@@ -513,6 +513,7 @@ Manager::receive_hashing_changed() {
} else {
(*itr)->set_hash_failed(true);
(*itr)->set_message("Hashing failed: " + std::string(e.what()));
lt_log_print(torrent::LOG_TORRENT_ERROR, "Hashing failed: %s", e.what());
}
}