Merge pull request #526 from arvidn/rechecking-outstanding-1.1

always keep at least 2 async hash jobs outstanding
This commit is contained in:
Arvid Norberg 2016-03-06 20:05:56 -05:00
commit 3fa3004b85
2 changed files with 10 additions and 7 deletions

View File

@ -2682,7 +2682,10 @@ namespace libtorrent
int num_outstanding = settings().get_int(settings_pack::checking_mem_usage) * block_size() int num_outstanding = settings().get_int(settings_pack::checking_mem_usage) * block_size()
/ m_torrent_file->piece_length(); / m_torrent_file->piece_length();
if (num_outstanding <= 0) num_outstanding = 1; // if we only keep a single read operation in-flight at a time, we suffer
// significant performance degradation. Always keep at least two jobs
// outstanding
if (num_outstanding < 2) num_outstanding = 2;
// we might already have some outstanding jobs, if we were paused and // we might already have some outstanding jobs, if we were paused and
// resumed quickly, before the outstanding jobs completed // resumed quickly, before the outstanding jobs completed