mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-13 12:46:18 +00:00
* Set the hash failed flag before DownloadList::hash_clear closes the
torrent, so the hashing queue doesn't re-open it. * Randomized the starting position in chunk selector. * Added man page entry for send/receive buffer size. git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@689 e378c898-3ddf-0310-93e7-cc216c733640
This commit is contained in:
@@ -739,6 +739,16 @@ gives the client 128 sockets to use as it wishes.
|
|||||||
</para></listitem>
|
</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>send_buffer_size = <replaceable>value</replaceable></term>
|
||||||
|
<term>receive_buffer_size = <replaceable>value</replaceable></term>
|
||||||
|
<listitem><para>
|
||||||
|
|
||||||
|
Adjust the send and receive buffer size for socket.
|
||||||
|
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>umask = <replaceable>0644</replaceable></term>
|
<term>umask = <replaceable>0644</replaceable></term>
|
||||||
<listitem><para>
|
<listitem><para>
|
||||||
|
|||||||
@@ -432,11 +432,18 @@ void
|
|||||||
DownloadList::hash_clear(Download* download) {
|
DownloadList::hash_clear(Download* download) {
|
||||||
check_contains(download);
|
check_contains(download);
|
||||||
|
|
||||||
|
// Set hash failed so close_throw won't cause the hash queue to
|
||||||
|
// reopen this download.
|
||||||
|
download->set_hash_failed(true);
|
||||||
|
|
||||||
close_throw(download);
|
close_throw(download);
|
||||||
download->download()->hash_resume_clear();
|
download->download()->hash_resume_clear();
|
||||||
|
|
||||||
download->set_hash_failed(false);
|
download->set_hash_failed(false);
|
||||||
|
|
||||||
|
if (download->is_open())
|
||||||
|
throw torrent::internal_error("DownloadList::hash_clear(...) download still open.");
|
||||||
|
|
||||||
// If any more stuff is added here, make sure resume etc are still
|
// If any more stuff is added here, make sure resume etc are still
|
||||||
// correct.
|
// correct.
|
||||||
std::for_each(slot_map_hash_queued().begin(), slot_map_hash_queued().end(), download_list_call(download));
|
std::for_each(slot_map_hash_queued().begin(), slot_map_hash_queued().end(), download_list_call(download));
|
||||||
|
|||||||
@@ -385,6 +385,9 @@ Manager::receive_hashing_changed() {
|
|||||||
if ((*itr)->is_hash_checked())
|
if ((*itr)->is_hash_checked())
|
||||||
throw torrent::client_error("core::Manager::receive_hashing_changed() hash already checked.");
|
throw torrent::client_error("core::Manager::receive_hashing_changed() hash already checked.");
|
||||||
|
|
||||||
|
if ((*itr)->is_hash_failed())
|
||||||
|
continue;
|
||||||
|
|
||||||
m_downloadList->open_throw(*itr);
|
m_downloadList->open_throw(*itr);
|
||||||
(*itr)->download()->hash_check();
|
(*itr)->download()->hash_check();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user