- Catch invalid_handle exception in savefastresume data

This commit is contained in:
Christophe Dumez 2009-11-28 13:50:16 +00:00
parent 08fe5814c5
commit 27aff04f11
2 changed files with 10 additions and 7 deletions

View file

@ -1124,8 +1124,10 @@ void Bittorrent::saveFastResumeData() {
if (rda) { if (rda) {
--num_resume_data; --num_resume_data;
s->pop_alert(); s->pop_alert();
try {
// Remove torrent from session // Remove torrent from session
s->remove_torrent(rda->handle); s->remove_torrent(rda->handle);
}catch(libtorrent::libtorrent_exception){}
continue; continue;
} }
save_resume_data_alert const* rd = dynamic_cast<save_resume_data_alert const*>(a); save_resume_data_alert const* rd = dynamic_cast<save_resume_data_alert const*>(a);
@ -1515,7 +1517,7 @@ void Bittorrent::readAlerts() {
QHash<QString, TrackerInfos> trackers_data = trackersInfos.value(h.hash(), QHash<QString, TrackerInfos>()); QHash<QString, TrackerInfos> trackers_data = trackersInfos.value(h.hash(), QHash<QString, TrackerInfos>());
TrackerInfos data = trackers_data.value(tracker_url, TrackerInfos(tracker_url)); TrackerInfos data = trackers_data.value(tracker_url, TrackerInfos(tracker_url));
data.last_message = misc::toQString(p->msg); data.last_message = misc::toQString(p->msg);
#ifndef LIBTORRENT_0_15 #ifndef LIBTORRENT_0_15
data.verified = false; data.verified = false;
++data.fail_count; ++data.fail_count;
#endif #endif

View file

@ -56,10 +56,11 @@ public:
~ReverseResolutionST() { ~ReverseResolutionST() {
stopped = true; stopped = true;
if(isRunning()) if(isRunning()) {
resolver.cancel(); resolver.cancel();
wait(); wait();
} }
}
void setIP(boost::asio::ip::tcp::endpoint &_ip) { void setIP(boost::asio::ip::tcp::endpoint &_ip) {
ip = _ip; ip = _ip;