diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-03-01 02:26:29 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2006-03-01 02:26:29 +0000 |
| commit | bc1cf6ed2d4c7ef52263a781359a73edb546970d (patch) | |
| tree | 53e682f047a0465761b415708669b27cc981ce33 /src/AbstractCommand.cc | |
| parent | d770d1c40af48bb8f288b3ee4c9670289d9c2e45 (diff) | |
* AbstractCommand.cc:
* DownloadCommand.{h, cc}: Aborted downloading commands now
properly
unregister its cuid from SegmentMan.
* DownloadEngine.cc: .aria2 file was written when a downloading
failed with errors.
Diffstat (limited to 'src/AbstractCommand.cc')
| -rw-r--r-- | src/AbstractCommand.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc index 6fe1d2ae..7caa1fa7 100644 --- a/src/AbstractCommand.cc +++ b/src/AbstractCommand.cc @@ -99,11 +99,14 @@ bool AbstractCommand::execute() { return true; } catch(DlRetryEx* err) { e->logger->error(MSG_RESTARTING_DOWNLOAD, err, cuid); - delete(err); - //req->resetUrl(); req->addTryCount(); - if(e->option->getAsInt(PREF_MAX_TRIES) != 0 && - req->getTryCount() >= e->option->getAsInt(PREF_MAX_TRIES)) { + bool isAbort = e->option->getAsInt(PREF_MAX_TRIES) != 0 && + req->getTryCount() >= e->option->getAsInt(PREF_MAX_TRIES); + if(isAbort) { + onAbort(err); + } + delete(err); + if(isAbort) { e->logger->error(MSG_MAX_TRY, cuid, req->getTryCount()); return true; } else { @@ -123,7 +126,9 @@ bool AbstractCommand::prepareForRetry(int wait) { return true; } -void AbstractCommand::onAbort(Exception* e) { +void AbstractCommand::onAbort(Exception* ex) { + e->logger->debug(MSG_UNREGISTER_CUID, cuid); + e->segmentMan->unregisterId(cuid); } void AbstractCommand::setReadCheckSocket(Socket* socket) { |
