summaryrefslogtreecommitdiff
path: root/src/TrackerWatcherCommand.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/TrackerWatcherCommand.cc')
-rw-r--r--src/TrackerWatcherCommand.cc11
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;