qBittorrent/src/base/bittorrent
sledgehammer999 747c70a58e
Avoid data corruption when rechecking paused torrents
Libtorrent can recheck only unpaused torrents. We get around this by
unpausing the torrent, issuing the recheck and pausing again after we
get alerted by libtorrent that the recheck has finished. This alert is
asyncronous. There is a small time frame where the program might start
downloading and writing data to the file before we pause it. This can
lead to data corruption if the file on disk is totally different that
the one expected by the torrent AND the file on disk is a valid file on
its own. OR in case the user points the new torrent to the wrong
directory by mistake.
To get around this the torrent is placed in upload_mode and out of
automanagement.
2018-04-09 23:25:52 +03:00
..
private Avoid temporary QString allocations 2018-03-07 20:06:00 +08:00
addtorrentparams.h Add uploadLimit, downloadLimit fields to AddTorrentData & AddTorrentParams 2017-10-11 16:23:58 +08:00
cachestatus.h Use cached SessionStatus and CacheStatus 2017-05-10 13:24:37 +03:00
infohash.cpp Allow ADL lookup for helper function 2018-03-09 01:34:19 +08:00
infohash.h Allow ADL lookup for helper function 2018-03-09 01:34:19 +08:00
magneturi.cpp Replace Utils::String::fromStdString() by QString::fromStdString() 2017-03-07 19:42:44 +08:00
magneturi.h Coding style, use nullptr and other minor things 2017-10-08 10:20:54 +03:00
peerinfo.cpp Make peer information flags in peerlist more readable 2017-12-20 11:22:23 +02:00
peerinfo.h Coding style, use nullptr and other minor things 2017-10-08 10:20:54 +03:00
session.cpp Use lightweight printf instead of iostream 2018-03-31 03:21:53 +08:00
session.h Merge pull request #8372 from thalieht/inactiverate 2018-02-24 14:13:39 +03:00
sessionstatus.h Use new Session Statistics feature 2017-05-10 13:24:51 +03:00
torrentcreatorthread.cpp Add source field in Torrent creator. Closes #7965. 2017-12-09 00:39:50 +08:00
torrentcreatorthread.h Add source field in Torrent creator. Closes #7965. 2017-12-09 00:39:50 +08:00
torrenthandle.cpp Avoid data corruption when rechecking paused torrents 2018-04-09 23:25:52 +03:00
torrenthandle.h Avoid data corruption when rechecking paused torrents 2018-04-09 23:25:52 +03:00
torrentinfo.cpp Fix loading very large torrents. Closes #8449. 2018-02-22 18:52:10 +08:00
torrentinfo.h Fix loading very large torrents. Closes #8449. 2018-02-22 18:52:10 +08:00
tracker.cpp Properly reply to announce request 2018-03-09 17:41:06 +03:00
tracker.h Properly reply to announce request 2018-03-09 17:41:06 +03:00
trackerentry.cpp Make method const 2017-05-09 14:21:55 +08:00
trackerentry.h Make method const 2017-05-09 14:21:55 +08:00