mirror of https://github.com/aria2/aria2
2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Call RequestGroupMan::fillRequestGroupFromReserver() repeatedly while RequestGroupMan::requestQueueCheck() is true. * src/FillRequestGroupCommand.ccpull/1/head
parent
c51815dd52
commit
420500f6bf
|
@ -1,3 +1,9 @@
|
||||||
|
2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
|
Call RequestGroupMan::fillRequestGroupFromReserver() repeatedly
|
||||||
|
while RequestGroupMan::requestQueueCheck() is true.
|
||||||
|
* src/FillRequestGroupCommand.cc
|
||||||
|
|
||||||
2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
2010-09-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||||
|
|
||||||
Use const ref
|
Use const ref
|
||||||
|
|
|
@ -63,17 +63,19 @@ bool FillRequestGroupCommand::execute()
|
||||||
}
|
}
|
||||||
SharedHandle<RequestGroupMan> rgman = e_->getRequestGroupMan();
|
SharedHandle<RequestGroupMan> rgman = e_->getRequestGroupMan();
|
||||||
if(rgman->queueCheckRequested()) {
|
if(rgman->queueCheckRequested()) {
|
||||||
try {
|
while(rgman->queueCheckRequested()) {
|
||||||
// During adding RequestGroup,
|
try {
|
||||||
// RequestGroupMan::requestQueueCheck() might be called, so
|
// During adding RequestGroup,
|
||||||
// first clear it here.
|
// RequestGroupMan::requestQueueCheck() might be called, so
|
||||||
rgman->clearQueueCheck();
|
// first clear it here.
|
||||||
rgman->fillRequestGroupFromReserver(e_);
|
rgman->clearQueueCheck();
|
||||||
} catch(RecoverableException& ex) {
|
rgman->fillRequestGroupFromReserver(e_);
|
||||||
getLogger()->error(EX_EXCEPTION_CAUGHT, ex);
|
} catch(RecoverableException& ex) {
|
||||||
// Re-request queue check to fulfill the requests of all
|
getLogger()->error(EX_EXCEPTION_CAUGHT, ex);
|
||||||
// downloads, some might come after this exception.
|
// Re-request queue check to fulfill the requests of all
|
||||||
rgman->requestQueueCheck();
|
// downloads, some might come after this exception.
|
||||||
|
rgman->requestQueueCheck();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(rgman->downloadFinished()) {
|
if(rgman->downloadFinished()) {
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue