checking torrents don't count in auto manage logic

This commit is contained in:
Arvid Norberg 2011-02-04 06:55:05 +00:00
parent 051936cd29
commit 06d8142c5b
2 changed files with 13 additions and 0 deletions

View File

@ -3150,6 +3150,11 @@ namespace aux {
, end(list.end()); i != end; ++i)
{
torrent* t = *i;
if ((t->state() == torrent_status::checking_files
|| t->state() == torrent_status::queued_for_checking))
continue;
if (!t->is_paused() && !is_active(t, settings())
&& hard_limit > 0)
{
@ -3210,6 +3215,11 @@ namespace aux {
{
torrent* t = i->second.get();
TORRENT_ASSERT(t);
// checking torrents are not subject to auto-management
if (t->state() == torrent_status::checking_files
|| t->state() == torrent_status::queued_for_checking)
continue;
if (t->is_auto_managed() && !t->has_error())
{
// this torrent is auto managed, add it to

View File

@ -1611,6 +1611,9 @@ namespace libtorrent
if (ret == piece_manager::need_full_check) return;
dequeue_torrent_check();
// calling pause will also trigger the auto managed
// recalculation
if (m_auto_managed) pause();
files_checked();
}