diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-12-07 13:33:59 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2007-12-07 13:33:59 +0000 |
| commit | bb4bff2c2aee0f59e225f0879d30464bc20c46f1 (patch) | |
| tree | 35d624ee40e7e3a0ac126c807b5446699d27ed52 /src/TrackerWatcherCommand.cc | |
| parent | 3bb307b518fb50e0838d42129ba8c73852689258 (diff) | |
2007-12-07 Tatsuhiro Tsujikawa <tujikawa at rednoah com>
Fixed the bug#1845750; CTRL+C does not stop torrent.
aria2 repeatedly sends stopped request when tracker returns error code.
* src/AnnounceList.cc
* test/AnnounceListTest.cc
* src/AnnounceTier.h
Added a message when ctrl-c is hit.
Now second ctrl-c is also handled in signal handler.
* src/RequestGroupMan.{h, cc}
* src/RequestGroup.{h, cc}
* src/MultiUrlRequestInfo.cc
* src/DownloadEngine.cc
* src/TrackerWatcherCommand.cc
Diffstat (limited to 'src/TrackerWatcherCommand.cc')
| -rw-r--r-- | src/TrackerWatcherCommand.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/TrackerWatcherCommand.cc b/src/TrackerWatcherCommand.cc index 66f6d06f..181c5a2b 100644 --- a/src/TrackerWatcherCommand.cc +++ b/src/TrackerWatcherCommand.cc @@ -64,6 +64,17 @@ TrackerWatcherCommand::~TrackerWatcherCommand() {} bool TrackerWatcherCommand::execute() { + if(_requestGroup->isForceHaltRequested()) { + if(_trackerRequestGroup.isNull()) { + return true; + } else if(_trackerRequestGroup->getNumCommand() == 0 || + _trackerRequestGroup->downloadFinished()) { + return true; + } else { + _trackerRequestGroup->setForceHaltRequested(true); + return false; + } + } if(btAnnounce->noMoreAnnounce()) { logger->debug("no more announce"); return true; |
