mirror of https://github.com/aria2/aria2
Add groupToAdd to requestGroups_ even if exception is thrown in
createInitialCommand(). This makes groupToAdd be processed by removeStoppedGroup() and --on-download-error hook is properly triggered. Now --on-download-start is also triggered for groupToAdd even if exception is thrown in createInitialCommand().pull/1/head
parent
378ba26ed3
commit
6bc215fcec
|
@ -516,8 +516,6 @@ void RequestGroupMan::fillRequestGroupFromReserver(DownloadEngine* e)
|
||||||
++count;
|
++count;
|
||||||
e->addCommand(commands);
|
e->addCommand(commands);
|
||||||
commands.clear();
|
commands.clear();
|
||||||
util::executeHookByOptName
|
|
||||||
(groupToAdd, e->getOption(), PREF_ON_DOWNLOAD_START);
|
|
||||||
} catch(RecoverableException& ex) {
|
} catch(RecoverableException& ex) {
|
||||||
A2_LOG_ERROR_EX(EX_EXCEPTION_CAUGHT, ex);
|
A2_LOG_ERROR_EX(EX_EXCEPTION_CAUGHT, ex);
|
||||||
A2_LOG_DEBUG("Deleting temporal commands.");
|
A2_LOG_DEBUG("Deleting temporal commands.");
|
||||||
|
@ -525,9 +523,13 @@ void RequestGroupMan::fillRequestGroupFromReserver(DownloadEngine* e)
|
||||||
commands.clear();
|
commands.clear();
|
||||||
A2_LOG_DEBUG("Commands deleted");
|
A2_LOG_DEBUG("Commands deleted");
|
||||||
groupToAdd->setLastErrorCode(ex.getErrorCode());
|
groupToAdd->setLastErrorCode(ex.getErrorCode());
|
||||||
groupToAdd->releaseRuntimeResource(e);
|
// We add groupToAdd to e in order to it is processed in
|
||||||
addDownloadResult(groupToAdd->createDownloadResult());
|
// removeStoppedGroup().
|
||||||
|
requestGroups_.push_back(groupToAdd);
|
||||||
|
requestQueueCheck();
|
||||||
}
|
}
|
||||||
|
util::executeHookByOptName
|
||||||
|
(groupToAdd, e->getOption(), PREF_ON_DOWNLOAD_START);
|
||||||
}
|
}
|
||||||
if(!temp.empty()) {
|
if(!temp.empty()) {
|
||||||
reservedGroups_.insert(reservedGroups_.begin(), temp.begin(), temp.end());
|
reservedGroups_.insert(reservedGroups_.begin(), temp.begin(), temp.end());
|
||||||
|
|
Loading…
Reference in New Issue