From 7716a27d0d88b8f7201edf29565e31fe308df74b Mon Sep 17 00:00:00 2001 From: "Vladimir Golovnev (Glassez)" Date: Wed, 1 Aug 2018 18:25:37 +0300 Subject: [PATCH 1/2] Reorder resume data saving conditionals Having conditionals which can break saving of torrent resume data in order from more likely to less likely is more effective. --- src/base/bittorrent/session.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp index d4db1e3e1..45b1a4fc3 100644 --- a/src/base/bittorrent/session.cpp +++ b/src/base/bittorrent/session.cpp @@ -2350,9 +2350,9 @@ void Session::generateResumeData(bool final) { foreach (TorrentHandle *const torrent, m_torrents) { if (!torrent->isValid()) continue; - if (torrent->hasMissingFiles()) continue; - if (torrent->isChecking() || torrent->hasError()) continue; + if (torrent->isChecking()) continue; if (!final && !torrent->needSaveResumeData()) continue; + if (torrent->hasMissingFiles() || torrent->hasError()) continue; saveTorrentResumeData(torrent, final); } From 2a6e38aa28bfdba16ced7f601a53a3213507463d Mon Sep 17 00:00:00 2001 From: "Vladimir Golovnev (Glassez)" Date: Wed, 1 Aug 2018 21:29:32 +0300 Subject: [PATCH 2/2] Never save resume data for already paused torrents --- src/base/bittorrent/session.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp index 45b1a4fc3..cf90c0ae9 100644 --- a/src/base/bittorrent/session.cpp +++ b/src/base/bittorrent/session.cpp @@ -2350,7 +2350,7 @@ void Session::generateResumeData(bool final) { foreach (TorrentHandle *const torrent, m_torrents) { if (!torrent->isValid()) continue; - if (torrent->isChecking()) continue; + if (torrent->isChecking() || torrent->isPaused()) continue; if (!final && !torrent->needSaveResumeData()) continue; if (torrent->hasMissingFiles() || torrent->hasError()) continue;