diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-08 15:01:45 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-08 15:01:45 +0000 |
| commit | 587be5119ca2260269a92b5e5c0a1310b87c780a (patch) | |
| tree | bbca03d2b0c4b60e10cd5d40fd8051e49131f11c /src/FillRequestGroupCommand.cc | |
| parent | 2c2d19d5d53d44a9ae33609da1f6e78571b9b3bd (diff) | |
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that FillRequestGroupCommand is not invoked when
RequestGroupMan::createInitialCommand() creates no Command object.
* src/FillRequestGroupCommand.cc
* src/RequestGroupMan.cc
Diffstat (limited to 'src/FillRequestGroupCommand.cc')
| -rw-r--r-- | src/FillRequestGroupCommand.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/FillRequestGroupCommand.cc b/src/FillRequestGroupCommand.cc index 13d53c7f..34f56f3e 100644 --- a/src/FillRequestGroupCommand.cc +++ b/src/FillRequestGroupCommand.cc @@ -64,10 +64,16 @@ bool FillRequestGroupCommand::execute() SharedHandle<RequestGroupMan> rgman = _e->_requestGroupMan; if(rgman->queueCheckRequested()) { try { - rgman->fillRequestGroupFromReserver(_e); + // During adding RequestGroup, + // RequestGroupMan::requestQueueCheck() might be called, so + // first clear it here. rgman->clearQueueCheck(); + rgman->fillRequestGroupFromReserver(_e); } catch(RecoverableException& ex) { logger->error(EX_EXCEPTION_CAUGHT, ex); + // Re-request queue check to fulfill the requests of all + // downloads, some might come after this exception. + rgman->requestQueueCheck(); } if(rgman->downloadFinished()) { return true; |
